配置文件支持两种格式
-
npm模块的形式导出配置,即
文件名如lint.js等js文件 module.exports = { html:{} /* your config here */ };
-
json格式的文件,后缀名不限制,内容必须是json格式的,如
文件名如lint.json/.lintrc等 { "html":{} /* your config here */ }
目前lint-plus集成了三种检查工具,分别是检查HTML代码的xg-htmlhint,检查css代码的xg-csshint以及Eslint。
每一个配置文件中可以配置三个属性,分别是html
,css
和js
,代表检查这三种代码的工具配置。不进行配置或将这些属性配置为false
,表示不启用该工具,如
{
"html":false,
"css":{
/* .... */
}
}
上述配置表示禁用html和js代码检查,启用css检查。
每一项配置中有多个共同的配置属性,如
-
suffix
:表示启用检查工具去情况下需要被检查的文件的后缀名,可以是数组或字符串suffix:"js" 或 suffix:["js","es"]
-
ignore
:需要被检查工具忽略的文件,支持glob语法,可以是数组或字符串ignore:"test.js" 或 ignore:"*.jsx" 或 ignore:["test/**/*.js","foo*.js"]
-
extends
:继承的配置,用法参考Eslint配置中的extends配置,不但每个检查工具可以进行规则继承,所有的规则也可以继承。{ extends:"../extend/config", html:{ extends:["../config-a","config-b"] ... }, css:{ extends:["../config-css","config-scss"] ... }, js:{ extends:"../config-es5" ... } }
-
rules
:对规则进行配置,配置内容因工具而异
除此之外,还可以配置额外的属性,如eslint除了上述属性,还可以配置env,global等,可以直接在js下面进行相应配置。
{
js:{
suffix:"js",
extends:"eslint:recommended",
env:{
node:true
},
global:{
jQuery:true
},
rules:{
...
}
}
...
}
-
eslint 特殊的配置
- extends属性 extends可以配置为字符串,如
extends:"eslint:recommended"
也可以是字符串数组,如
extends:["eslint:recommended","path/to/extends.json"]
- plugins 新增的插件支持和eslint原生的配置有所不同,支持多种配置方式,如单独的字符串
plugins:"angular"
或者数组
plugins:["angular","react"]
以上两种配置会在
node_modules
目录下查找eslint-plugin-xxx
的npm包,如果插件并不是以一个npm包的形式存在,可以指定路径,如下plugins:{ angular:"path/to/angular-plugin" } 或 plugins:["react",{ angular:"path/to/angular-plugin" }]
以下配置中angular插件是无效的
plugins:{ react:"path/to/react/plugin", angular:"path/to/react/plugin" }
注意:使用全局lint-plus不会加载本地的插件,所以建议使用对象(
plugins:{angular:"path/to/plugin"}
)的形式指定插件及其本地路径;使用本地的lint-plus就可以正常使用本地的插件,也就可以使用plugins:["angular"]
或plugins:"react"
这样的写法了.- fix 设置fix为true,如
fix:true
可以将ESLint中可修复的错误进行修复,具体参考ESLint Rules