Webpack V4: Remove console.logs with Webpack & Uglify

烈酒焚心 提交于 2019-12-09 17:44:43

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!