«

vue打包删除console.log

emer 发布于 2019-11-4 21:14   2929 次阅读     


利用UglifyJsPlugin插件来实现项目打包后,删除debugger和console语句

在build/webpack.prod.conf.js文件中添加如下代码

plugin:[
    new UplifyJsPlugin(){   
        uglifyOptions: {
            compress: {
            warnings: false,//警告
            drop_debugger: true,//debugger
            drop_console: true,//console(注释掉)
            pure_funcs:['console.log'] // 移除console
            }
        }

    }
]
 
yarn add babel-plugin-transform-remove-console —D // 安装包 复制代码

在 babel.config.js 中配置

// 所有生产环境
const prodPlugin = []

if (process.env.NODE_ENV === 'production') {

  // 如果是生产环境,则自动清理掉打印的日志,但保留error 与 warn
  prodPlugin.push([
    'transform-remove-console',
    {
      // 保留 console.error 与 console.warn
      exclude: ['error', 'warn']
    }
  ])
}

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  plugins: [
    ...prodPlugin
  ]
}