49

是否可以以仅将规则应用于名称与特定模式匹配的文件的方式配置 ESLint?我知道在目录中可以有单独的规则表,但如果结构如下:

app
|
|- module1
|     |- module1.js
|     |- module1.spec.js
|
|- module2
|     |- module2.js
|     |- module2.spec.js

而且我想要一个仅适用于 *.spec.js 文件的项目范围的规则。我希望有一个像

"include-pattern": "*.spec.js"

在 .eslintrc 或任何其他类似的方式中指定应为特定规则考虑哪些文件名。

4

3 回答 3

66

更新的答案:

是的,现在有可能。在您的示例中,它可能看起来像

{
  "rules": {
    "quotes": [ 2, "double" ]
  },

  "overrides": [
    {
      "files": [ "app/module1/*.js" ],
      "excludedFiles": "*.spec.js",
      "rules": {
        "quotes": [ 2, "single" ]
      }
    }
  ]
}

您可以在eslint 文档页面上阅读更多内容。

老答案:

目前不支持此功能。但对于2.0.0版本,我们正在积极开发此功能。

跟踪进度:https ://github.com/eslint/eslint/issues/3611

于 2015-09-12T14:17:32.053 回答
8

临时解决方法是使用.eslintignore文件,里面有这样的东西:

*.js !*.spec.js

于 2016-12-20T21:05:20.077 回答
0

只需在您的 package.json 中创建一个“lint”脚本并附加您想要的任何模式:

"lint": "npx eslint src/**/*.ts test/**/*.ts",

然后npm run lint

我也做了一个 bash alias alias n='npm run',所以n lint对我有用..

于 2021-09-07T02:06:49.513 回答