- // Note: You must restart bin/webpack-dev-server for changes to take effect
-
- const webpack = require('webpack');
- const merge = require('webpack-merge');
- const CompressionPlugin = require('compression-webpack-plugin');
- const sharedConfig = require('./shared.js');
- const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
-
- module.exports = merge(sharedConfig, {
-
- devtool: 'source-map', // separate sourcemap file, suitable for production
-
- output: { filename: '[name]-[chunkhash].js' },
-
- plugins: [
- new webpack.optimize.UglifyJsPlugin({
- compress: true,
- mangle: true,
-
- output: {
- comments: false,
- },
-
- sourceMap: true,
- }),
- new CompressionPlugin({
- asset: '[path].gz[query]',
- algorithm: 'gzip',
- test: /\.(js|css|svg|eot|ttf|woff|woff2)$/,
- }),
- new BundleAnalyzerPlugin({ // generates report.html and stats.json
- analyzerMode: 'static',
- generateStatsFile: true,
- statsOptions: {
- // allows usage with http://chrisbateman.github.io/webpack-visualizer/
- chunkModules: true,
- },
- openAnalyzer: false,
- logLevel: 'silent', // do not bother Webpacker, who runs with --json and parses stdout
- }),
- ],
- });
|