vue.config.js配置打包删除console和debugger

  • Post author:
  • Post category:vue

项目版本:

@vue/cli 4.5.15
webpack: 4.46.0
webpack-cli: 4.9.2       
webpack-dev-server 3.11.3

vue.config.js配置

chainWebpack: (config) => {
        // 去掉debugger console
    config.when(process.env.NODE_ENV !== "development", config => {
        config.optimization.minimizer('terser').tap((args) => {
            // 注释console.*
            args[0].terserOptions.compress.drop_console = true
                // remove debugger
            args[0].terserOptions.compress.drop_debugger = true
                // 移除 console.log
            args[0].terserOptions.compress.pure_funcs = ['console.log']
                // 去掉注释 如果需要看chunk-vendors公共部分插件,可以注释掉就可以看到注释了
            args[0].terserOptions.output = {
                comments: false
            };
            return args
        })
    })
}

检查是否配置成功

//项目根目录执行
vue inspect --mode=production > output.js  
//生成output.js文件
// 查看文件中
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,
          drop_console: true,  // 查看是否有,有就成功了
          drop_debugger: true, // 查看是否有,有就成功了
          pure_funcs: [
            'console.log'
          ]  // 查看是否有,有就成功了
        },
        mangle: {
          safari10: true
        },
        output: {
          comments: false
        }
      },
      sourceMap: false,
      cache: true,
      parallel: true,
      extractComments: false
    }
  )
]

版权声明:本文为weixin_44875693原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。