是否有方法禁用文件夹的特定规则?例如,我不希望测试文件夹中的所有测试文件都需要JSDoc注释。有办法做到这一点吗?


为了从eslint规则中忽略一些文件夹,我们可以在根目录中创建文件.eslintignore,并在那里添加我们想要省略的文件夹的路径(与.gitignore的方法相同)。

下面是ESLint文档中关于忽略文件和目录的例子:

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js

前面的答案是正确的,但是完整的答案将是关于仅对一组文件禁用规则,在那里您将找到为某些文件夹禁用/启用规则所需的文档(因为在某些情况下,您不想忽略整个事情,只禁用某些规则)。例子:

    {
        "env": {},
        "extends": [],
        "parser": "",
        "plugins": [],
        "rules": {},
        "overrides": [
          {
            "files": ["test/*.spec.js"], // Or *.test.js
            "rules": {
              "require-jsdoc": "off"
            }
          }
        ],
        "settings": {}
    }

YAML版本:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

摩卡测试的具体规则示例:

你也可以为一个文件夹设置一个特定的env,像这样:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

这个配置将修复关于describe和它没有定义的错误消息,仅适用于您的测试文件夹:

/ myproject /测试/ init-tests.js 6:1错误'describe'没有定义 'it'没有定义


在ESLint 6.7.0+中使用"ignorePatterns":[]。

你可以在配置文件中使用ignorePatterns告诉ESLint忽略特定的文件和目录。

.eslintrc.js的示例

    module.exports = {
  env: {
   ...
  },
  extends: [
   ...
  ],
  parserOptions: {
  ...
  },
  plugins: [
   ...
  ],
  rules: {
   ...
  },
  ignorePatterns: ['src/test/*'], // <<< ignore all files in test folder
};

或者你可以忽略有扩展名的文件:

ignorePatterns: ['**/*.js']

你可以在这里阅读用户指南文档。

https://eslint.org/docs/user-guide/configuring/ignoring-code