问题:项目在发布阶段不能有控制台的输出命令,控制台的输出命令只能是在开发阶段使用,如何实现在开发阶段使用控制台输出命令,而在发布阶段不适用控制台输出命令,即如何使console.log()命令在发布阶段失效?
解决办法:使用babel-plugin-transform-remove-console依赖
步骤:
1.安装依赖
2.在babel.config.js文件中调试
// 区分一下是开发阶段还是发布阶段
const prodPlugins = []
// 发布阶段即添加消除控制面板打印的方法
if (process.env.NODE_ENV === 'production') {
prodPlugins.push('transform-remove-console')
}
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
[
'component',
{
libraryName: 'element-ui',
styleLibraryName: 'theme-chalk'
}
],
// 发布产品时候的插件数组
...prodPlugins
]
}
解释:如果想实现no-console,需要在该文件的plugins数组中添加’transform-remove-console’ ;
同时通过process.env.NODE_ENV可以判断是发布还是开发
(development为开发)(production为发布);
判断为开发阶段时就给定义的变量赋值(‘transform-remove-console’ )
然后在plugins域中展开定义的变量(…prodPlugins)