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

Kev*_*off 35 eslint

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

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

car*_*ant 75

ESLint配置(.eslintrc)文件是分层的:

ESLint将自动在要绘制的文件的目录中查找它们,并在连续的父目录中一直查找到文件系统的根目录.当您需要为项目的不同部分进行不同的配置时,或者您希望其他人能够直接使用ESLint而无需记住传入配置文件时,此选项很有用.

您可以通过import/prefer-default-export在该commonComponents目录中创建.eslintrc包含以下内容的文件来禁用该目录的规则:

{
    "rules": {
        "import/prefer-default-export": "off"
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 你能告诉我你在哪里找到关于如何切换这个规则的文档吗?eslint-plugin-import 文档没有帮助 (2认同)

Pat*_*ick 21

您还可以使用"覆盖"键为不同的glob模式声明规则.

阅读基于Glob模式配置

有时需要更精细控制的配置,例如,如果同一目录中的文件配置必须不同.因此,您可以在覆盖键下提供配置,该配置仅适用于与特定glob模式匹配的文件,使用与在命令行上传递的格式相同的格式(例如,app/**/*.test.js).

我使用它no-unused-expressions从我的测试文件中删除规则,如此;

"overrides": [{
  "files": [ "*.spec.js" ],
  "rules": {
    "no-unused-expressions": 0
  }
}]
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的解决方案。我们不必每次想要忽略文件夹的规则(如接受的答案中那样)时都添加新文件。 (3认同)
  • 这是比接受的答案更好的方法。 (2认同)