是否可以关闭整个文件的eslint规则?例如:

// eslint-disable-file no-use-before-define 

(类似于eslint-disable-line。)我经常遇到这样的情况,在某个文件中,我在许多地方违反了特定的规则,这对该文件来说是OK的,但我不想为整个项目禁用该规则,也不想为该特定文件禁用其他规则。


当前回答

你也可以像这样禁用/启用一个规则:

/* eslint-disable no-use-before-define */
... code that violates rule ...
/* eslint-enable no-use-before-define */

类似于问题中提到的eslint-disable-line。如果您不想在重新启用规则配置时恢复复杂的规则配置,那么这可能是一个更好的方法。

其他回答

最好在.eslintrc.js配置文件中添加“overrides”。 例如,如果你不想对所有以Actions结尾的js文件禁用camelcase规则,在.eslintrc.js的rules scope后添加以下代码。

"rules": {    
...........    
},
"overrides": [
 {
  "files": ["*Actions.js"],
     "rules": {
        "camelcase": "off"   
     }
 }
]

禁用文件的指定规则。

/* eslint-disable no-use-before-define */

注意,在eslint中有一个错误,单行注释将不起作用

// eslint-disable max-classes-per-file
// This fails!

查看这篇文章

你可以配置eslint overrides属性来关闭匹配glob模式的文件的特定规则,如下所示。

在这里,我想关闭测试所有文件的no-duplicate-string规则。

overrides: [
  {
    files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
    rules: {
      'sonarjs/no-duplicate-string': 'off'
    }
  }
]

要暂时禁用文件中的规则警告,请使用以下格式的块注释:

/* eslint-disable */

警报(“foo”);

/* eslint-enable */ 您还可以禁用或启用特定规则的警告:

/* eslint-disable no-alert, no-console */

警报(“foo”); console.log('bar');

/* eslint-enable no-alert, no-console / 要在整个文件中禁用规则警告,在文件顶部放置/ eslint-disable */ block注释:

/* eslint-disable */

警报(“foo”); 您还可以禁用或启用整个文件的特定规则:

/* eslint-disable no-alert */

警报(“foo”); 要禁用特定行上的所有规则,请使用以下格式之一的行注释:

下面是一些禁用页面ESLint的例子

警报(“foo”);eslint-disable-line

/ / eslint-disable-next-line 警报(“foo”); 禁用特定行上的特定规则:

警报(“foo”);// eslint-disable-line no-alert

// eslint-disable-next-line no-alert 警报(“foo”); 禁用某一行的多条规则。

警报(“foo”);// eslint-disable-line no-alert, quotes, semi

// eslint-disable-next-line no alert, quotes, semi 警报(“foo”);


执行以下步骤禁用ESLint从你的项目

打开的包。配置文件在您的项目。 删除与ESLint相关的所有依赖项。 从你的项目中删除eslint.js/eslintconfig文件 执行命令NPM install 现在运行你的项目

你可以使用/*eslint [<rule: "off"], >]*/关闭一个文件的特定规则

/* eslint no-console: "off", no-mixed-operators: "off" */

版本:eslint@4.3.0