关闭特定文件的eslint规则

2020/09/27 10:01 · javascript ·  · 0评论

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

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

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

您可以通过将配置放在文件顶部来关闭/更改文件的特定规则。

/* eslint no-use-before-define: 0 */  // --> OFF

or

/* eslint no-use-before-define: 2 */  // --> ON

更多信息

禁用文件的特定规则:

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

请注意,eslint中存在一个错误,其中单行注释无法正常工作-

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

检查这篇文章

您可以通过在项目的根目录中创建一个文件来告诉ESLint 忽略特定的文件和.eslintignore目录:

.eslintignore

build/*.js
config/*.js
bower_components/foo/*.js

忽略模式的行为符合.gitignore规范。(不要忘记重新启动编辑器。)

您还可以禁用/启用如下规则:

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

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

根据您要忽略的规则数量(全部或某些),以及禁用该规则的范围(行,文件,无处不在),我们得出2×3 = 6种情况。


1)禁用“所有规则”

情况1.1:您想要禁用“一个或多个行”的“所有规则”

Put `/* eslint-disable-line */` at the **end of the line(s)**, 
or `/* eslint-disable-next-line */` right **before the line**.

情况1.2:您要禁用“一个文件”的“所有规则”

Put the comment of `/* eslint-disable */` at the top of the file.

情况1.3:您要禁用“某些文件”的“所有规则”

您可以通过3种方式执行此操作:

  1. 您可以使用1.2并/* eslint-disable */一个接一个地添加文件。
  2. 您可以将文件名放在中.eslintignore这特别适用,如果您有要忽略路径(例如apidoc/**
  3. 另外,如果你不希望有一个单独的.eslintignore文件,你可以添加
    "eslintIgnore": ["file1.js", "file2.js"]package.json按照指示在这里

2)禁用“某些规则”

情况2.1:您想要为“一个或多个行”禁用“某些规则”

You can put `/* eslint-disable-line quotes */` (replace `quotes` with your rules) at the end of the line(s), 
or `/* eslint-disable-next-line no-alert, quotes, semi */` before the line.

情况2.2:您要禁用“一个文件”的“某些规则”

Put the `/* eslint-disable no-use-before-define */` comment at the top of the file.  

这里有更多示例

##案例2.3:您要为“某些文件”禁用“某些规则”

这不太直接。您应该按照此处的指示将它们放在"excludedFiles""overrides"部分对象中.eslintrc

最好在.eslintrc.js配置文件中添加“替代”。例如,如果您不希望对以Actions结尾的所有js文件禁用camelcase规则,则在.eslintrc.js中的规则作用域后添加此代码。

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

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

/* eslint-disable */

这将禁用ESLint,直到

/* eslint-enable */

评论已达成。

您可以在此处阅读有关此主题的更多信息

接受的答案对我不起作用(也许是eslint的其他版本...?我正在使用eslint v3.19.0),但确实找到了以下解决方案...

将以下内容放在文件顶部

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

这将禁用整个文件的规则

/* eslint-disable */

//suppress all warnings between comments
alert('foo');

/* eslint-enable */

这将禁用块中的所有eslint规则。

您可以将其放在文件顶部,例如:

/* eslint-disable no-console */

您可以配置eslint覆盖属性以关闭与如下所示的glob模式匹配的文件的特定规则。

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

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

从今天开始,答案对我不起作用,但是将其放在文件顶部确实起作用

/* eslint-disable @typescript-eslint/no-unused-vars */

重要的是要知道,至少就我而言,评论的类型会有所作为。先前的评论对我有用,但以下评论不起作用

// eslint-disable @typescript-eslint/no-unused-vars

您可以使用以下命令关闭文件的特定规则 /*eslint [<rule: "off"], >]*/

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

版: eslint@4.3.0

只需.eslintignore在项目根目录中创建一个空文件,然后输入要忽略的文件的路径即可。

来源:https : //eslint.org/docs/2.13.1/user-guide/configuring# :~: text=To%20disable%20rule%20warnings%20in,*%2F%20alert('foo')%3B

忽略文件和目录

本文地址:http://javascript.askforanswer.com/guanbitedingwenjiandeeslintguize.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!