Eslint:默认情况下忽略警告文件。使用否定的忽略模式

Pri*_*tra 5 javascript node.js eslint

我是使用 Eslint 的新手。

到目前为止,我已经在我的本地项目中安装了 Eslint 并对其进行了配置。eslintrc.js 文件包含

module.exports = {
  env: {
    node: true,
    commonjs: true,
    es6: true,
    mocha: true,
  },
  extends: [
    'airbnb-base',
  ],
  globals: {
    Atomics: 'readonly',
    SharedArrayBuffer: 'readonly',
  },
  parserOptions: {
    ecmaVersion: 2018,
  },
  rules: {
  },
};
Run Code Online (Sandbox Code Playgroud)

在 package.json 我有

  "scripts": {
    "lint": "eslint .eslintrc.js --fix",
}
Run Code Online (Sandbox Code Playgroud)

在终端我运行

npm run lint

输出是

> apigateway@1.0.0 lint C:\nodeprojects\restapi
> eslint .eslintrc.js --fix


C:\nodeprojects\restapi\.eslintrc.js
  0:0  warning  File ignored by default.  Use a negated ignore pattern (like "--ignore-pattern '!<relative/path/to/filename>'") to override
Run Code Online (Sandbox Code Playgroud)

但如果我跑

eslint <foldername> --fix 那么它的工作原理。

我正在使用 webstorm IDE 和 windows 操作系统。

任何帮助都受到高度赞赏。

mar*_*424 24

ESlint 默认行为是忽略以.- https://github.com/eslint/eslint/issues/10341开头的文件/文件夹。

例如,如果您想要 lint.storybook文件夹,ESLint 默认情况下会忽略它。要检查它,.eslintrc.js必须包括:

{
  ...
  // Lint ".storybook" folder (don't ignore it)
  "ignorePatterns": ["!.storybook"],
  ...
}
Run Code Online (Sandbox Code Playgroud)

由于默认的 ESLint 行为,我在所有项目中都这样做(从根开始检查整个项目):

{
  ...
  // ESlint default behaviour ignores file/folders starting with "." - https://github.com/eslint/eslint/issues/10341
  "ignorePatterns": ["!.*", "dist", "node_modules"],
  ...
}
Run Code Online (Sandbox Code Playgroud)

我首先不忽略以 开头的任何文件/文件夹.,然后排除我真正想忽略的文件夹。


小智 7

我遇到了这个问题,其中预提交 Husky 钩子在尝试提交合并时会尝试扫描此文件(之前有人更改了 .eslintrc.js),然后这将使团队成员本地环境中的合并提交失败(文件被忽略)默认情况下)

您可以.eslintignore在 旁边创建一个文件.eslintrc.js。然后在 .eslintignore 中输入:

!.eslintrc.js
Run Code Online (Sandbox Code Playgroud)


Mac*_*c_W 6

您的 npm 脚本在文件上运行 linter .eslintrc.js,该文件如注释所示File ignored by default.

您需要将 lint 脚本更改为:

"lint": "eslint .eslintrc.js --fix",

到:

"lint": "eslint <foldername> --fix"

正确的文件夹在哪里<foldername>

  • 另外,eslint 默认情况下会忽略 `node_modules` 和 `bower_components`,因此您不需要为它们做任何额外的事情。 (3认同)