uniapp 微信小程序 生产环境去除console.log 日志
近期一直在写微信小程序,有一个问题一直没有解决,就是在测试环境中调试代码会打印很多日志,方便看到问题所在。但是代码越写越多,到发布版本的时候就会很郁闷,有一对打印消息,虽然在线上的项目不会打印这些,但是还是会消耗一些性能的。webpack其实是可以解决的,但是我不想在小程序中去用webpack,所以就在网上查了一下试了试还很好用,分享给大家。
解决方案:
- 判断是生产环境还是开发环境
- 根据不同的环境全局设置 console.log
代码如下:
直接在main.js中引入以下代码
if (uni.getSystemInfoSync().platform !== "devtools") {
console.log = () => {}
}
/*
const app = new Vue({
store,
...App
})
app.$mount()
*/
判断当前是否是运行在开发者工具中,如果不是,则让log变成一个空函数。这样log就不会打印出内容了,基本上没有什么耗时操作。
可以看到当log是空函数之后,它的执行时间基本上接近于0.005ms,这点时间耗费,就算项目中有1000个console.log
,也就会耗费5ms左右的时间,而如果不做优化的话,随着你打印信息的长度越长,耗费的时间也会越长,可以说是一个大幅度的优化了,虽然人眼察觉不到什么,但是对于有一点代码洁癖的人来说,还是有点用的,当然,此方法也可以用在web开发或者混合开发上,一方面提升了运行效率,另一方面也可以避免一些信息在控制台的泄露,显得你很业余。
—— 微信小程序学习资源下载—–
1、uni-app快速入门 从零开始实现新闻资讯类跨端应用(含源码)完整无秘
更多学习教程,小月博客持续更新…