ESLint忽略特定目录的特定规则

时间:2016-12-24 20:15:46

标签: eslint

ESLint是否可以忽略整个目录的一个特定规则?

就我而言,我想忽略import/prefer-default-export名为commonComponents的目录

5 个答案:

答案 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)

YAML版本:

rules:
  no-unused-expressions: true

overrides:
  - files: *-tests.js
    rules:
      no-unused-expressions: false

答案 4 :(得分:-1)

创建 .eslintignore 文件,然后将排除文件夹的示例放在其中:

node_modules/
functions/
dist/
相关问题