美文网首页
vue/cli 4.x 打包到生产环境删除调试console(新

vue/cli 4.x 打包到生产环境删除调试console(新

作者: CJ_景元 | 来源:发表于2020-05-27 10:12 被阅读0次

版本@vue\cli 4.3.1,默认设置下打包到production环境下,发现打包后的js文件内的所有console.*()方法还在里面,这个本该是默认移除的。

首先我打开了vue ui,打开inspect检查webpack配置,发现当前的minimizer已经不再是UglifyJS了,换成了Terser,它是webpack v4的默认压缩工具,也是当前性能最好的。

现在打开inspect输出的默认配置项,找到minimizer配置:

//......
 minimizer: [
      /* config.optimization.minimizer('terser') */
      new TerserPlugin(
        {
          terserOptions: {
            compress: {
              arrows: false,
              collapse_vars: false,
              comparisons: false,
              computed_props: false,
              hoist_funs: false,
              hoist_props: false,
              hoist_vars: false,
              inline: false,
              loops: false,
              negate_iife: false,
              properties: false,
              reduce_funcs: false,
              reduce_vars: false,
              switches: false,
              toplevel: false,
              typeofs: false,
              booleans: true,
              if_return: true,
              sequences: true,
              unused: true,
              conditionals: true,
              dead_code: true,
              evaluate: true
            },
            //......
          },
          //......
        }
      )
    ]
//......

compress内部的设置就是压缩配置项,打开该插件的文档,与console.*()相关的配置项为drop_console,该配置默认是false,现在只要打开它就好了。

查看了vue/cli的配置文档,发现需要在项目的vue.config.js文件内进行配置的更改,具体代码如下:

//......
// 写法一
configureWebpack: (config) => {
   // 判断为生产模式下,因为开发模式我们是想保存console的
    if (process.env.NODE_ENV === "production") {
      config.optimization.minimizer.map((arg) => {
        const option = arg.options.terserOptions.compress;
        option.drop_console = true; // 打开开关
        return arg;
      });
    }
  },
// 写法2
 chainWebpack: (config) => {
    if (process.env.NODE_ENV === "production") {
      config.optimization.minimizer("terser").tap((arg) => {
        arg[0].terserOptions.compress.drop_console = true;
        return arg;
      });
  }
}
//......
进行生产模式打包验证,发现达到效果。 开启前.png
开启后.png

相关文章

网友评论

      本文标题:vue/cli 4.x 打包到生产环境删除调试console(新

      本文链接:https://www.haomeiwen.com/subject/ipbiahtx.html