21

我有一个类似于这样的文件夹结构:

/root
 .eslintrc.json
 package.json
 /someFolder
   /sub
   /sub
 /anotherFolder
 /src
   /containers
   /components
 /oneMoreFolder
   /sub
   /sub

我正在使用 create-react-app 并正在应用 airbnb 规则。我已经能够从 CLI 轻松地在特定文件夹中运行 linter,但在编译时,它针对所有文件夹。

我想仅在/src文件夹中的文件上运行 linter 编译。

我该怎么办?我尝试了多种解决方案。

谢谢!

TL:DR 使用 eslint 和 create-react-app 时,如何仅针对一个子文件夹及其所有文件进行编译?

4

4 回答 4

19

在你的里面.eslintrc.json

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

  "overrides": [
    {
      "files": [ "src/**/*.js" ],
      "rules": {
        "quotes": [ 2, "single" ]
      }
    }
  ]
}

.eslintignore

 /someFolder
 /anotherFolder
 /oneMoreFolder
于 2018-12-11T16:44:45.450 回答
10

你需要做类似的事情eslint src/**/*.js[x]。如果您正在运行进行 linting 检查的 webpack 构建(或 precommit 钩子),则将其添加scriptspackage.json.

于 2018-01-04T02:44:02.457 回答
8

我使用ignorePatterns了选项。它会告诉 ESLint 忽略特定的文件和目录。当您的 IDE(例如 VS Code)在不需要的文件中报告错误时,它很有用。

{
  "ignorePatterns": ["gulpfile.js", "gulp/**/*", "webpack.config.js"]
}

您也可以使用该.eslintignore文件。

于 2020-01-22T13:17:21.590 回答
1

在您编写了运行 lint 的脚本的package.json地方,只提到了您要定位的文件夹

scripts:{"lint": "eslint src public"}

然后,如果您想忽略相应文件夹中的某些类型的文件,您可以在 ESLint 配置文件中提及。

于 2021-04-16T09:30:25.937 回答