Webpack V4: удаление console.logs с помощью Webpack и Uglify

Этот ответ работал как шарм ранее:

https://stackoverflow.com/a/41041580/3894981

Однако, начиная с Webpack v4, он больше не работает. С тех пор выкидывает:

Ошибка: webpack.optimize.UglifyJsPlugin был удален, используйте вместо него config.optimization.minimize.

Что здесь необходимо, чтобы это работало в 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
    }
  }));
}

person dude    schedule 04.03.2018    source источник


Ответы (2)


Вы все еще помещаете его в config.plugins, вы пытались поместить его в config.optimization.minimizer?

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

...

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