解决方案如下:
- 一行代码的写法 , 也可以控制台输出解决问题 , 但我们在开发环境下还需要对log进行删除,而生产环境还需要添加 , 虽然重复这样也可以解决问题 , 但为了优化 , 只需要判断生产环境重新方法 , 开发环境不重写即可 , 那么判断即可
- 在utils文件夹下新建clearLog.js文件
-
// 需要分2个环境的代码时 // 可以用process.env.NODE_ENV 来进行判断 // process是nodejs环境的全局变量 // env固定属性 // NODE_ENV, webpack配置好的一个属性名 // yarn serve ,webpack会加载开发"环境的配置变量" NODE_ENV值默认就是'development' // yarn build, webpack会加载生产环境的配置变量 NODE_ENV值默认就是'production' console.log(process.env) if (process.env.NODE_ENV === 'production') { console.log = function () { } // 类似警告 , 错误 , 对象 也可以在生产环境去掉 // console.error = function () { } // console.dir = function () { } // console.warning = function () { } } // 让这段代码先执行 // 以后console.log(), 相当于调用了你覆盖的空方法, 所以就没有打印了
最后在main.js中引入clearLog.js文件
-
import '@/utils/clearLog'
- 上述已经解决了打包后控制台输出问题 , 这种是为了将这个去除注释的封装到一个js文件,在main.js引入即可,方便维护,也为了防止入口文件代码过多。(亲测有用,希望对你有所帮助)