【问题标题】:ESLint only target a specific directory (eslintrc, create-react-app)ESLint 仅针对特定目录(eslintrc、create-react-app)
【发布时间】:2018-06-13 17:05: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 时,如何仅针对一个子文件夹及其所有文件进行编译?

【问题讨论】:

    标签: javascript eslint eslintrc


    【解决方案1】:

    在你的.eslintrc.json里面

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

    .eslintignore

     /someFolder
     /anotherFolder
     /oneMoreFolder
    

    【讨论】:

      【解决方案2】:

      您需要执行eslint src/**/*.js[x] 之类的操作。如果您正在运行执行 linting 检查的 webpack 构建(或预提交挂钩),请将其添加到 package.json 内的 scripts 对象中。

      【讨论】:

      • 当我运行这个命令时,我得到一个错误,没有路径匹配那个格式。我很幸运:eslint src/**/*.{js,jsx}
      • 如何通过 .eslintrc.json 文件来限制这个?
      • @Vahid 如果您想忽略某些文件,我建议您改用.eslintignore。另一种方法是在运行eslint 命令时使文件路径更紧凑。 eslintrc 文件应该用于设置配置。 github.com/eslint/eslint/blob/master/.eslintignore
      【解决方案3】:

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

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

      您也可以使用.eslintignore 文件。

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2019-01-06
          • 2018-12-17
          • 2018-08-10
          • 1970-01-01
          • 2019-12-17
          • 2015-09-16
          • 2022-01-19
          • 2021-01-10
          • 2019-09-13
          相关资源
          最近更新 更多