40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
|
/* jshint esversion: 6 */
|
||
|
var webpack = require('webpack');
|
||
|
var webpackMerge = require('webpack-merge');
|
||
|
var ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||
|
var commonConfig = require('./webpack.common.js');
|
||
|
var helpers = require('./helpers');
|
||
|
|
||
|
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||
|
|
||
|
module.exports = webpackMerge(commonConfig, {
|
||
|
devtool: 'source-map',
|
||
|
|
||
|
output: {
|
||
|
path: helpers.root('dist'),
|
||
|
publicPath: '/',
|
||
|
filename: '[name].[hash].js',
|
||
|
chunkFilename: '[id].[hash].chunk.js'
|
||
|
},
|
||
|
|
||
|
plugins: [
|
||
|
new webpack.NoEmitOnErrorsPlugin(),
|
||
|
new webpack.optimize.UglifyJsPlugin({ // https://github.com/angular/angular/issues/10618
|
||
|
mangle: {
|
||
|
keep_fnames: true
|
||
|
}
|
||
|
}),
|
||
|
new ExtractTextPlugin('[name].[hash].css'),
|
||
|
new webpack.DefinePlugin({
|
||
|
'process.env': {
|
||
|
'ENV': JSON.stringify(ENV)
|
||
|
}
|
||
|
}),
|
||
|
new webpack.LoaderOptionsPlugin({
|
||
|
htmlLoader: {
|
||
|
minimize: false // workaround for ng2
|
||
|
}
|
||
|
})
|
||
|
]
|
||
|
});
|