diff options
author | David Mehren | 2018-07-02 22:24:56 +0200 |
---|---|---|
committer | David Mehren | 2018-09-06 17:26:09 +0200 |
commit | 29a3813adaa54adaafab1678e30d754ecf0c9e3b (patch) | |
tree | 5f6f0c79c1f6207539a448dbd248c95cdea4a1e5 /webpack.production.js | |
parent | 0017ddd3101f7c9445a70e8b38bf0046a0730f16 (diff) |
Upgrade to Webpack 4 - first try
Signed-off-by: David Mehren <dmehren1@gmail.com>
Diffstat (limited to 'webpack.production.js')
-rw-r--r-- | webpack.production.js | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/webpack.production.js b/webpack.production.js index a79643b6..22093b1b 100644 --- a/webpack.production.js +++ b/webpack.production.js @@ -3,7 +3,8 @@ var webpack = require('webpack') var path = require('path') var ExtractTextPlugin = require('extract-text-webpack-plugin') var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin') -var ParallelUglifyPlugin = require('webpack-parallel-uglify-plugin') +const UglifyJsPlugin = require('uglifyjs-webpack-plugin') +const MiniCssExtractPlugin = require('mini-css-extract-plugin') module.exports = [Object.assign({}, baseConfig, { plugins: baseConfig.plugins.concat([ @@ -11,44 +12,33 @@ module.exports = [Object.assign({}, baseConfig, { 'process.env': { 'NODE_ENV': JSON.stringify('production') } - }), - new ParallelUglifyPlugin({ - uglifyJS: { - compress: { - warnings: false - }, - output: { - max_line_len: 1000000 - }, - mangle: false, - sourceMap: false - } - }), - new ExtractTextPlugin('[name].[hash].css') + }) ]), + optimization: { + minimizer: [ + new UglifyJsPlugin({ + parallel: true, + cache: true + }) + ], + splitChunks: { + chunks: 'async', + minChunks: Infinity + } + }, + output: { path: path.join(__dirname, 'public/build'), publicPath: '/build/', - filename: '[id].[name].[hash].js', - baseUrl: '<%- url %>' + filename: '[id].[name].[hash].js' + // baseUrl: '<%- url %>' } }), { entry: { htmlExport: path.join(__dirname, 'public/js/htmlExport.js') }, - module: { - loaders: [{ - test: /\.css$/, - loader: ExtractTextPlugin.extract('style-loader', 'css-loader') - }, { - test: /\.scss$/, - loader: ExtractTextPlugin.extract('style-loader', 'sass-loader') - }, { - test: /\.less$/, - loader: ExtractTextPlugin.extract('style-loader', 'less-loader') - }] - }, + output: { path: path.join(__dirname, 'public/build'), publicPath: '/build/', @@ -61,6 +51,16 @@ module.exports = [Object.assign({}, baseConfig, { } }), new ExtractTextPlugin('html.min.css'), - new OptimizeCssAssetsPlugin() - ] + new OptimizeCssAssetsPlugin(), + new MiniCssExtractPlugin() + ], + module: { + rules: [{ + test: /\.css$/, + use: [ + MiniCssExtractPlugin.loader, + 'css-loader' + ] + }] + } }] |