使用 Webpack 和 Uglify 删除 console.logs

2024-03-30

我正在尝试删除console.logs使用 Webpack 的 Uglify 插件,但似乎与 Webpack 捆绑在一起的 Uglify 插件没有这个选项,文档中没有提到。

我正在从 webpack 初始化 uglify,如下所示:

new webpack.optimize.UglifyJsPlugin()

我的理解是,我可以使用独立的 Uglify lib 来获取所有选项,但我不知道是哪一个?

问题是drop_console不工作。


With UglifyJsPlugin我们可以处理评论、警告、控制台日志但在开发模式下删除所有这些并不是一个好主意。首先检查你是否正在运行webpack for prod env or dev env, 如果是prod env然后你可以删除所有这些,如下所示:

var debug = process.env.NODE_ENV !== "production";

plugins: !debug ? [
   new webpack.optimize.UglifyJsPlugin({

     // Eliminate comments
        comments: false,

    // Compression specific options
       compress: {
         // remove warnings
            warnings: false,

         // Drop console statements
            drop_console: true
       },
    })
]
: []

参考:https://github.com/mishoo/UglifyJS2#compressor-options https://github.com/mishoo/UglifyJS2#compressor-options

2019年更新现在需要使用 terser 插件来支持 webpack v4 中的 ES6https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions

webpack.config.js

module.exports = {
  optimization: {
    minimize: true,
    minimizer: [
      new TerserPlugin({
        sourceMap: true, // Must be set to true if using source-maps in production
        terserOptions: {
          compress: {
            drop_console: true,
          },
        },
      }),
    ],
  },
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Webpack 和 Uglify 删除 console.logs 的相关文章

随机推荐