uniapp vscode如何一键关闭log打印
在uniapp开发中,使用vscode调试时如何一键关闭所有console.log打印?项目里有很多调试日志,发布时需要手动删除很麻烦,有没有配置或插件能批量禁用这些log输出?
2 回复
在VSCode中,使用uniapp开发时,可在manifest.json中设置"debug": false关闭所有console.log。也可通过条件编译,在发布时屏蔽log代码。
在uni-app项目中,可以通过以下方法一键关闭console.log打印:
方法一:条件编译(推荐)
在main.js或App.vue中添加:
// 生产环境关闭console.log
// #ifndef MP-WEIXIN
if (process.env.NODE_ENV === 'production') {
console.log = function() {}
console.info = function() {}
console.warn = function() {}
console.error = function() {}
}
// #endif
方法二:使用插件
安装babel插件:
npm install babel-plugin-transform-remove-console --save-dev
在babel.config.js中配置:
module.exports = {
presets: [
['@vue/app', {
useBuiltIns: 'entry'
}]
],
plugins: [
// 生产环境移除所有console
process.env.NODE_ENV === 'production' ? 'transform-remove-console' : ''
]
}
方法三:自定义封装
创建utils/log.js:
const log = {
info: function(...args) {
if (process.env.NODE_ENV !== 'production') {
console.log(...args)
}
},
error: function(...args) {
if (process.env.NODE_ENV !== 'production') {
console.error(...args)
}
}
}
export default log
使用时:
import log from '@/utils/log.js'
log.info('这条日志在生产环境不会显示')
推荐使用方法一,简单有效且不会影响开发调试。

