Vue进阶(幺玖柒):build 过程取消 console、debugger 控制台信息输出
【摘要】
文章目录
一、前言二、配置文件修改三、拓展阅读
一、前言
Vue项目开发过程中,会经常需要使用console.log、console.info、alert等测试语句来输出内容,而在...
一、前言
Vue
项目开发过程中,会经常需要使用console.log
、console.info
、alert
等测试语句来输出内容,而在生产环境之中,我们不希望控制台同样输出以上信息,特别是用户信息相关。
组包前,逐一去删除、注释显然费时费力,好在Vue
提供了通过配置文件修改配置变量,实现在开发环境打印,而生产环境不打印控制台信息的方法。
二、配置文件修改
修改build/webpack.prod.conf.js
配置文件,找到UglifyJsPlugin
配置,在compress
中添加如下代码即可。
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
// 打包的时候移除console、debugger
drop_debugger: true, // 移除debugger
drop_console: true, // 移除console
pure_funcs: ['console.log','console.info']
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
更优的配置方式如下:
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
// 打包的时候移除console、debugger
drop_debugger: process.env.NODE_ENV=== 'production', // 移除debugger
drop_console: process.env.NODE_ENV=== 'production', // 移除console
warnings: process.env.NODE_ENV=== 'production', // 移除告警信息
pure_funcs: ['console.log','console.info']
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
其中,process.env.NODE_ENV
定义在prod.env.js
文件中,
module.exports = {
NODE_ENV: "production"
}
- 1
- 2
- 3
prod.env.js
文件在config/index.js
的build.env
配置中引入。
build: {
env: require('./prod.env')
}
- 1
- 2
- 3
三、拓展阅读
- 《Vue2合集》
文章来源: shq5785.blog.csdn.net,作者:No Silver Bullet,版权归原作者所有,如需转载,请联系作者。
原文链接:shq5785.blog.csdn.net/article/details/121763016
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)