【发布时间】:2017-07-04 03:58:39
【问题描述】:
有没有办法禁用文件夹的特定规则?例如,我不希望 test 文件夹中的所有测试文件都需要 JSDoc cmets。有没有办法做到这一点?
【问题讨论】:
-
eslint-babel 似乎忽略了任何 .eslint-ignore 文件和设置。
标签: eslint
有没有办法禁用文件夹的特定规则?例如,我不希望 test 文件夹中的所有测试文件都需要 JSDoc cmets。有没有办法做到这一点?
【问题讨论】:
标签: eslint
要忽略 eslint 规则中的某些文件夹,我们可以在根目录中创建文件 .eslintignore 并在其中添加我们要省略的文件夹的路径(与 .gitignore 相同)。
这是来自 Ignoring Files and Directories 上的 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
【讨论】:
/node_modules、/dist 就足以排除这两个目录。在指定(子)目录时也支持 glob 模式。
.eslintrc.json 配置文件本身中配置要忽略的目录,这样我们就不需要另一个.estlint 文件,我们可以从eslint-config-myconfig 共享配置中继承忽略值?
--ignore-path 和/或--ignore-pattern,我认为也准确地回答了这个问题。
ignorePatterns 来提供要忽略的模式数组。在此处阅读发布公告:eslint.org/blog/2019/11/eslint-v6.7.0-released
之前的答案是正确的,但完整的答案将是关于disabling rules only for a group of files,在那里你会找到禁用/启用某些文件夹规则所需的文档(因为在某些情况下你不不想忽略整个事情,只禁用某些规则)。示例:
{
"env": {},
"extends": [],
"parser": "",
"plugins": [],
"rules": {},
"overrides": [
{
"files": ["test/*.spec.js"], // Or *.test.js
"rules": {
"require-jsdoc": "off"
}
}
],
"settings": {}
}
【讨论】:
.eslintrc.js 和extends: "../.eslintrc.js"!
在 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
【讨论】:
overrides:
- files: *-tests.js
rules:
no-param-reassign: 0
您还可以为文件夹设置特定的环境,如下所示:
overrides:
- files: test/*-tests.js
env:
mocha: true
此配置将修复关于 describe 和 it 未定义的错误消息,仅适用于您的测试文件夹:
/myproject/test/init-tests.js
6:1 错误 'describe' 未定义 no-undef
9:3 错误 'it' 未定义 no-undef
【讨论】: