ESLint-配置

[原文]http://eslint.org/docs/user-guide/configuring
ESLint是完全可配置的,意味着可以关闭所有规则只保留语法验证,或者混合匹配捆绑规则和自定义规则。配置ESLint有两种方式:

  • 配置注释 - 用JavaScript的注释在文件中直接嵌入配置信息。

  • 配置文件 - 用JavaScript、JSON、YAML文件来配置整个工程。
    可以配置的参数包括:

  • Environments - 脚本执行的环境。不同的执行环境有不同的预定义全局变量。

  • Globals - 其他的脚本执行需要的全局变量。

  • Rules - 不同错误级别的规则。

配置parserOptions参数

ESLint默认支持ECMAScript5的语法规则。也可通过参数覆盖到ECMAScript6,JSX同样。
.eslintrc.* 中parserOptions其中可配置的参数包括:

  • ecmaVersion - ECMAScript的版本,3、5(默认)、6
  • sourceType -
  • ecmaFeatures - 表示一些附加特性的对象:
    • globalReturn - 在全局作用域允许return 语句
    • impliedStrict - strict模式(ecma版本大于等于5)
    • jsx - 支持jsx
    • experimentalObjectRestSpread -
      .ealintrc.json文件示例:
      {
      "parserOptions": {
      "ecmaVersion": 6,
      "sourceType": "module",
      "ecmaFeatures": {
      "jsx": true
      },
      },
      "rules": {
      "semi": 2
      }
      }

parserOptions的配置决定ESLint认为哪些是错误。默认规则都是false

解析器配置

ESLint默认使用Espree 。同时满足以下要求的自定义解析规则也可定义:

  • 必须是本地的npm module
  • 必须是有 Esprima-compatible 的接口(parse()方法)
  • 必须生成一个 Esprima-compatible AST and token objects
    注意:即使有这些兼容性,也不能保证一个外部解析器可以很好地和ESLint一起工作,ESLint也不会修复和其它解析器结合产生的兼容性问题。
    为了让npm模块使用你自己的解析器,你需要在你的.eslintrc
    文件里指定parser
    选项。例如:下面配置文件指定Esprima作为解析器而不是Espree:
    {
    "parser": "esprima",
    "rules": { "semi": 2 }
    }
    与ESLint兼容良好的解析器:
  • Esprima
  • Babel-ESLint Babel解析器的封装版

你可能感兴趣的:(ESLint-配置)