ESLint是否可以忽略整个目录的一个特定规则?
就我而言,我想忽略import/prefer-default-export
名为commonComponents
的目录
答案 0 :(得分:60)
ESLint configuration (.eslintrc
) files是等级的:
ESLint将自动在要删除的文件的目录中查找它们,并在连续的父目录中一直查找到文件系统的根目录。当您需要为项目的不同部分进行不同的配置时,或者您希望其他人能够直接使用ESLint而无需记住传入配置文件时,此选项很有用。
您可以通过在该目录中创建包含以下内容的import/prefer-default-export
文件来禁用commonComponents
目录的.eslintrc
规则:
{
"rules": {
"import/prefer-default-export": "off"
}
}
答案 1 :(得分:12)
您还可以使用“覆盖”键为不同的glob模式声明规则。
阅读Configuration Based on Glob Patterns
有时需要更精细控制的配置,例如,如果同一目录中的文件配置必须不同。因此,您可以在覆盖键下提供配置,该配置仅适用于与特定glob模式匹配的文件,使用与在命令行上传递的格式相同的格式(例如,app / ** / * .test.js)。
我用它从我的测试文件中删除no-unused-expressions
规则,如此;
"overrides": [{
"files": [ "*.spec.js" ],
"rules": {
"no-unused-expressions": 0
}
}]
答案 2 :(得分:3)
如果您要将规则应用于多个目录,则可以为不同目的创建不同的配置。例如:
.eslintrc.json
for common config .eslintrc-main.json
用于主要linting并运行eslint -c .eslintrc-main src test
.eslintrc-comp.json
了解组件并运行eslint -c .eslintrc-comp commonComponents fooBarComponent
答案 3 :(得分:0)
rules:
no-unused-expressions: true
overrides:
- files: *-tests.js
rules:
no-unused-expressions: false
答案 4 :(得分:-1)
创建 .eslintignore 文件,然后将排除文件夹的示例放在其中:
node_modules/
functions/
dist/