头图

eslint常见问题记录

kay13
  1. eslint忽略指定文件
  "overrides": [
    {
      "files": ["bin/*.js", "lib/*.js"],
      "excludedFiles": "*.test.js",
      "rules": {
        "quotes": ["error", "single"]
      }
    }
  ]
  1. 报 'XMLHttpRequest' is not defined
    XMLHttpRequest是标准,但是至少浏览器(browser)中的标准,其他环境(如:nodejs)就不是了。
    解决办法:
    增加如下配置,在.eslintrc文件中,或者package.json
{
  "env": {
    "browser": 1
  }
}

参考:https://davidwalsh.name/eslint

  1. xxx is not defined
    如果是一些外部引入的对象(如angular,jquery等),需要添加一个全局变量的配置
    解决办法:

    {
    
      "globals": {
        "angular": 1
      }
    }
    // 或者数组
    {
      "globals": [
        "describe",
        "it",
        "expect"
      ]
    }

    参考:https://davidwalsh.name/eslint

  2. 配置解析器
    在使用standardjs的过程中。代码使用es6类属性时,报错Parsing error: Unexpected token =
    解决办法:
    安装babel-eslint,设置parserbabel-eslint
{
  "parser": "babel-eslint"
}
  1. 部分代码不希望进行eslint验证
    使用eslint-disable注释

单行
eslint-disable-line直接放在本行后面

const message = 'foo';
console.log(message); // eslint-disable-line no-console

eslint-disable-next-line no-console放在本行上一行(忽略注释的下一行)

// eslint-disable-next-line no-console
console.log(message);

整个文件
eslint-disable no-console

/* eslint-disable no-console */
const message = 'foo';
console.log(message);

注意:
1、在eslint-disable后面可以加上忽略的规则名称(不是必须的)。但建议加上,因为如果不加的话,可能会忽略了真正错误的问题。
2、加上规则时,多个规则以逗号间隔

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

参考:https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/no-abusive-eslint-disable.md

阅读 773

web developer node iOS

2 声望
1 粉丝
0 条评论

web developer node iOS

2 声望
1 粉丝
文章目录
宣传栏