vue.config.js build打包UglifyJsPlugin清除控制台打印console.log,报错出现`warnings` is not a supported option

前端在开发过程中,为了调试方便经常会用到console.log开发、测试环境有打印可以,但是生产环境最好不要有,毕竟不友好、也不太美观

uglifyjs-webpack-plugin

上线到生产环境,我们希望把打印功能全部注销掉,一个个的去注销肯定不现实。既浪费精力,又浪费时间,而且还会有遗漏

这里我们借助 uglifyjs-webpack-plugin去实现

安装

cnpm i uglifyjs-webpack-plugin --save-dev

vue.config.js引用

// vue.config.js

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

module.exports = {
...
configureWebpack: config => {
    if (process.env.NODE_ENV == 'production') {
    
      config.mode = 'production'
      config.optimization.minimizer = [
        new UglifyJsPlugin({
          uglifyOptions: {
            // 删除注释
			output: {
				comments: false
			},
			// 删除console debugger 删除警告
			compress: {     
				warnings: false,	//	报错的写法  
				drop_console: true, // console
				drop_debugger: false,
				pure_funcs: ['console.log']// 移除console
			}
          }
        })
      ]
    } else {
      // 为开发环境修改配置...
      config.mode = 'development'
    }
   }


...

}

warnings is not a supported option

这里有个知识点,warnings 会出现报错的情况。

有的 UglifyJsPlugin 版本不支持在 uglifyOptions 对象的 compress 中设置 warnings 参数, 而是将 warnings 作为一个属性直接设置在 uglifyOptions 对象中。

如果出现报错。那就按下面的写法,将warnings当做uglifyOptions属性去写就可以了

// vue.config.js

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

module.exports = {
...
configureWebpack: config => {
    if (process.env.NODE_ENV == 'production') {
    
      config.mode = 'production'
      config.optimization.minimizer = [
        new UglifyJsPlugin({
          uglifyOptions: {
            // 删除注释
			output: {
				comments: false
			},
			// 删除console debugger 删除警告
			compress: {     
				drop_console: true, // console
				drop_debugger: false,
				pure_funcs: ['console.log']// 移除console
			}, 
			warnings: false,	//	这样写就不报错  
          }
        })
      ]
    } else {
      // 为开发环境修改配置...
      config.mode = 'development'
    }
   }


...

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值