问题
Webpack 4 comes with the following statement:
webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead.
Fair enough, but I cannot find any information about configuring the UglifyJsPlugin instance running under the hood, for example to change the cache directory. Can this be done?
回答1:
It's not possible to modify the default configuration.
You can use the optimization.minimizer
setting to instantiate your own UglifyJsPlugin
, however. Using 4.0 we used this example to get source maps even when mode
is set to 'production'
for example (no longer necessary as of 4.1.1):
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
optimization: {
minimizer: [
// we specify a custom UglifyJsPlugin here to get source maps in production
new UglifyJsPlugin({
cache: true,
parallel: true,
uglifyOptions: {
compress: false,
ecma: 6,
mangle: true
},
sourceMap: true
})
]
}
};
回答2:
Just run:
yarn add uglifyjs-webpack-plugin --dev
Reference: Alfonso Pérez answer
回答3:
For those coming behind me, realized this misleading error was not related to my correct webpack config, but actually, the offline-plugin
was out of date and causing this issue. It needed to be upgraded. See github issue: https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/234#issuecomment-369134047
回答4:
You can try this
npm install uglifyjs-webpack-plugin --save-dev
webpack.config.js
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
optimization: {
minimizer: [new UglifyJsPlugin()],
},
};
webpack documentation
回答5:
Without adding uglifyjs-webpack-plugin
, you can just add this to the end of your webpack.prod.config.js file:
optimization: {
minimize: false
}
回答6:
You should check p
option: https://webpack.js.org/guides/production/#cli-alternatives : this flag tells Webpack to optimize your build for production environment. You can use it with the new "production" mode
for a smaller build.
来源:https://stackoverflow.com/questions/49053215/webpack-4-how-to-configure-minimize