ESlint:关闭项目中的特定规则

时间:2016-05-03 11:13:32

标签: javascript jshint eslint

我已经阅读了有关如何从文件中禁用规则的文档,但是我想知道是否有一种方法可以禁用或覆盖.eslintrc中的规则而不会覆盖其他先前的规则&我定义的预设。我正在AngularJS项目中工作,所以我在extends文件中使用了.eslintrc属性。

我希望禁用角度ESlint插件中的3个特定规则,而不会禁用我之前使用的所有其他内容。

如果没有rules属性,我的所有linting规则都可以正常工作(间距,语法错误等),但是我不想让两个lint错误自然地显示出来。但是,如果附加了rules属性,则不再应用我之前的所有规则(间隔语法错误等)。

我可以声明一条规则来禁用我不希望在我的文件顶部应用的特定规则,但这是非常重复的(这就是我之前所做的)。

{
  "rules": {
    "wrap-iife": [
      2,
      "inside"
    ],
    "max-len": [
      2,
      120
    ],
    "indent": [
      2,
      2
    ],
    "no-with": 2,
    "no-implicit-coercion": [
      2, {
        "string": true
      }
    ],
    "camelcase": [
      2, {
        "properties": "never"
      }
    ],
    "quotes": [
      2,
      "single"
    ],
    "linebreak-style": [
      2,
      "unix"
    ],
    "semi": [
      2,
      "always"
    ]
  },
  "env": {
    "es6": true,
    "browser": true,
    "node": true
  },
  "ecmaFeatures": {
    "modules": true
  },
  "globals": {
    "angular": true
  },
  "extends": "angular",

  //I just want to disable these rules & still use everything else
  //but when I add this, everything else I had previously no longer
  //applies
  "rules": {
    "angular/controller-as-vm": "off",
    "angular/document-service": "off",
    "angular/window-service": "off"
  }
}

2 个答案:

答案 0 :(得分:2)

在您 .eslintrc 中,您有两个rules个键。第二个将覆盖第一个。这是规则合并在一起的文件:

{
  "rules": {
    "wrap-iife": [
      2,
      "inside"
    ],
    "max-len": [
      2,
      120
    ],
    "indent": [
      2,
      2
    ],
    "no-with": 2,
    "no-implicit-coercion": [
      2, {
        "string": true
      }
    ],
    "camelcase": [
      2, {
        "properties": "never"
      }
    ],
    "quotes": [
      2,
      "single"
    ],
    "linebreak-style": [
      2,
      "unix"
    ],
    "semi": [
      2,
      "always"
    ],
    "angular/controller-as-vm": "off",
    "angular/document-service": "off",
    "angular/window-service": "off"
  },
  "env": {
    "es6": true,
    "browser": true,
    "node": true
  },
  "ecmaFeatures": {
    "modules": true
  },
  "globals": {
    "angular": true
  },
  "extends": "angular"
}

答案 1 :(得分:0)

ESLint配置文件,可单独禁用所有规则。

这是具有所有规则的Eslint配置(eslintrc.json)文件 关闭,以便您可以按规则更改代码 而不是更改所有代码以适合所有规则?

https://github.com/ajmaurya99/eslint-rules