出现 error: Unexpected console statement (no-console) 的解决方案


最近在运行一个 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