2017-02-22 25 views
0

Hei,Как предотвратить создание веб-файлов .map файлов

Я создаю новый проект Angular 2, и я использую webpack для комплектации. Я хочу выводить файлы в отдельную папку (общедоступную). Проблема в том, что webpack генерирует также .map и .js файл для каждого .ts-файла. Я хотел бы только один файл .map в выходной папке или все файлы .map и .js в другой папке, чем исходные файлы. Мой код выглядит следующим образом:

module.exports = (env) => { 
return webpackMerge(commonConfig(), { 
    output: { 
    path: BUILD_DIR, 
    filename: 'public/js/[name].js', 
    chunkFilename: 'public/js/[id].chunk.js', 
    sourceMapFilename: 'public/js/[file].map' 
    }, 
    devtool: 'cheap-module-eval-source-map', 
    devServer: { 
    inline: true, 
    contentBase: './public', 
    port: 8100, 
    historyApiFallback: true, 
    stats: 'minimal' 
    }, 
}); 
}; 

И базовая конфигурация:

module.exports =() => { 
    return { 
    entry: { 
     'polyfills': APP_DIR + '/polyfills.ts', 
     'vendor': APP_DIR + '/vendor.ts', 
     'app': APP_DIR + '/main.ts' 
    }, 
    resolve: { 
     extensions: ['.ts', '.js'] 
    }, 
    module: { 
     rules: [ 
     { 
      test: /\.ts$/, 
      loaders: [{ 
      loader: 'awesome-typescript-loader', 
      options: { tsconfig: './tsconfig.json' } 
      } , 'angular2-template-loader'] 
     }, 
     ] 
    }, 
    plugins: [ 
     new webpack.optimize.CommonsChunkPlugin({ 
     name: ['app', 'vendor', 'polyfills'] 
    }), 
    new ExtractTextPlugin({ 
     allChunks: true, 
     filename: 'public/styles/main.css' 
    }), 
    new HtmlWebpackPlugin({ 
     template: './src/index.html', 
     filename: 'public/index.html' 
    }) 
    ] 
} 

И выход становится:

public 
    js/bundle.js 
    js/vendor.js 
    js/polyfills.js 
src 
    one.component.ts 
    one.component.js 
    one.component.js.map 

ПРИМЕЧАНИЕ: не уверен, что если WebPack несет ответственность за это, Я вижу, что файлы .map и .js генерируются при сохранении, хотя webpack даже не работает. Что может быть возможным триггером?

+0

Я тоже пробовал, но это не помогло. Но я нашел проблему, это был редактор (плагин). – Prototype

ответ

0

Наверное, я искал неправильное место. Это атомный редактор (или, точнее, это машинописный плагин), вызывающий это поведение. Но, по крайней мере, я понял это и знаю, откуда эти файлы. Возможно, это помогает и кому-то задаваться вопросом о том же, и не думать о том, что редактор несет за это ответственность.

Пара ссылок для сокрытия этих файлов:

Can I hide typescript autogenerated .js and .map.js files in atom?

https://github.com/TypeStrong/atom-typescript/issues/253

0

Из того, что я могу сказать, файл карты не от Webpack, но из машинопись. В вашем tsconfig.json попробуйте установить "sourceMap": false,, если вы вообще не хотите файлы карты.

+0

Я смотрел этот параметр и пытался установить его на false, но у меня все еще есть файлы .map и .js. Наконец, я нашел проблему в Atom-TypScript плагин github repo, который указал мне в правильном направлении. Вместо этого я начал использовать визуальную студию. Задача решена. Или нет. – Prototype