Next lint 无法处理 pages 文件夹以外的任何文件

Next lint not working on files anywhere other than the ones inside the pages folder

我有一个全新安装的带有 TypeScript 的 NextJS 应用程序。我正在使用 Next V12,当我 运行 yarn lint 时,它 运行s next lint 并且没有显示任何错误。

现在,当我在 .eslintrc 文件中添加一个额外的规则时,例如 "no-unused-vars": 2(这意味着当有未使用的变量时显示错误),并添加一个未使用的变量故意在 pages 文件夹内的 index.tsx 文件中,以便我可以测试 linting,它按预期工作。

但是当我添加另一个名为 hooks 的文件夹并添加一个包含未使用变量的 index.tsx 文件时,它不会捕获 hooks 文件夹中的未使用变量错误,只会捕获其中的变量pages 个文件夹。

我的 .eslintrc 文件看起来像这样 -

{
    "extends": "next/core-web-vitals",
    "rules": {
        "no-unused-vars": 2
    }
}

如果有人以前遇到过这个问题并且知道我做错了什么,请提出建议。

根据 docsnext lint 运行s ESLint,以下文件夹中的文件:pagescomponentslib.

对于其他文件夹的 运行 ESLint,你必须使用 --dir 标志。

您可以直接在终端中这样做:

yarn run lint -- --dir . //for all folders in your project root directory

yarn run lint -- --dir pages hooks //only for the folders "pages" and "hooks"

或更改package.json中的lint脚本:

{
  ...
  "scripts": {
    ...
    "lint": "next lint --dir ." //or "next lint --dir pages hooks"
    ...
  }
  ...
}

注意以上为开发模式

对于production mode,您可以在next.config.js中的eslint中添加dirs选项:

module.exports = {
  eslint: {
    dirs: ['.'] //or ['pages', 'hooks']
  }
}