最近在运行一个 github 上的代码时出现这个警告 error: Unexpected console statement (no-console)
。 这是因为当前项目使用了 ESlint 做为代码审查工具,它认为这些控制台消息应该是用于调试的,发布到线上代码应该剔除掉这些 console
的调用。
当我们确实要在控制台上输出一些信息时,就需要忽略 ESlint 的 (no-console) 规则审查
解决方案
方式一:
在某条 console
代码语句上方,添加一行注释 // eslint-disable-next-line no-console
,此时,ESlint 就会忽略该行代码的 (no-console) 规则审查。例如:
// eslint-disable-next-line no-console
console.log("消息")
方式二:
在当前js文件(或js代码块)的顶部,添加一行注释 /* eslint no-console: "off" */
,此时,ESlint 就会忽略当前整个js文件的 (no-console) 规则审查。例如:
/* eslint no-console: "off" */
console.log("消息")
console.info("消息")
console.error("消息")
方式三:
找到 package.json 文件中的 eslintConfig
中的 rules
属性(如果没有可自己添加),给它添加属性 "no-console": "off"
,然后重启你的项目。此时,ESlint 就会忽略当前整个项目下的所有js文件的 (no-console) 规则审查。格式如下:
{
"eslintConfig": {
"rules": {
"no-console": "off"
}
},
}
更多
关于 no-console 规则更多的配置信息,请查看 http://eslint.cn/docs/rules/no-console