这是一个激励人心的例子:我正在开发一些代码,想弄清楚哪里出了问题,所以我有
function foo() {
console.log("Look its 2016 and I'm still printf debugging");
}
除了……我们的构建过程将 esLint 作为构建系统的一部分运行,如果 esLint 失败,我们的设计甚至会阻止运行构建管道的其余部分。 错误意外的控制台语句 no-console
我真正想要的是设置一个 dev
环境,其中某些规则被关闭(或转换为警告),然后是一个具有严格规则的 production
环境打开。我希望能够在本地轻松切换它,以便在将代码提交到 CI 服务器之前验证我的代码是否正常工作。
我找不到任何相关的代码片段来实现这一点,这让我很难过。我的构建环境只是 npm
脚本(仅使用 esLint CLI + package.json),但我很乐意从另一个构建环境移植解决方案。
现在,我只剩下 //eslint-disable-line
或在本地修改 .eslintrc
文件并祈祷我永远不会意外地检查它.一定有更好的方法。
最佳答案
通过 NODE_ENV
分支您的规则
您可以使用 .js
版本的 eslint 配置 (eslintrc.js
) 并根据 NODE_ENV
变量分支您的规则。
在 eslintrc.js
中:
rules: {
'no-console':
process.env.NODE_ENV === 'production'
? 'error'
: 'warn'
}
package.json
中的脚本:
"scripts": {
"lint": "eslint",
"lint:prod": "NODE_ENV=production eslint"
}
您将使用一个版本的规则,您的 CI 将使用另一个版本(假设您的 CI 上的 NODE_ENV
设置为 production
)。
关于javascript - 为本地开发创建不同的 eslint 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37892618/