[原文]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解析器的封裝版