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
}
}));
}
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,
}
}
})
]
}