Webpack V4:使用 Webpack 和 Uglify 删除 console.logs

Webpack V4: Remove console.logs with Webpack & Uglify

这个答案以前很有效:

但是,自从 Webpack v4 之后,它就不再起作用了。从那以后它抛出:

Error: webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead.

这里需要什么才能让它在 Webpack v4 中工作?

我试过使用以下方法,但没有成功:

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

你还在config.plugins,你试过把它放在config.optimization.minimizer吗?

const UglifyJSPlugin = require('uglifyjs-webpack-plugin')

...

optimization: {
  minimizer: [
    new UglifyJSPlugin({
      uglifyOptions: {
        compress: {
          drop_console: true,
        }
      }
    })
  ]
}

这不再适用于 Webpack 4,需要使用 Terser 插件,请参阅此处