问题
This answer worked like a charm previously:
https://stackoverflow.com/a/41041580/3894981
However, since Webpack v4 it doesn't work anymore. Since then it throws:
Error: webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead.
What is necessary here in order to make it work in Webpack v4?
I've tried using the following without luck:
const uglifyJsPlugin = require('uglifyjs-webpack-plugin');
if (process.argv.indexOf('-p') !== -1) {
// compress and remove console statements. Only add this plugin in production
// as even if drop_console is set to false, other options may be set to true
config.plugins.push(new uglifyJsPlugin({
compress: {
'drop_console': true
}
}));
}
回答1:
You're still putting it in config.plugins, have you tried putting it in config.optimization.minimizer?
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
...
optimization: {
minimizer: [
new UglifyJSPlugin({
uglifyOptions: {
compress: {
drop_console: true,
}
}
})
]
}
回答2:
This no longer works with Webpack 4, need to use Terser plugin, see here https://stackoverflow.com/a/41041580/378506
来源:https://stackoverflow.com/questions/49101152/webpack-v4-remove-console-logs-with-webpack-uglify