属性 rules
是 Eslint
的核心。
所有的规则都依赖此属性来定义。
4-1.规则等级
rules
的规则等级有:
off
0
规则关闭。warn
1
警告级别,不会影响代码执行。error
2
错误级别,阻断代码执行。
4-2.配置方式
rules
的配置方式有 4
种:
- 通过代码注释(权重最高)。如果想要禁止使用代码注释来设置的话,可以使用
noInlineConfig: true
来禁用。
js
/* eslint semi: "warn", quotes: ["error", "double"]
--
需要冒号 双引号
*/
TIP
代码注释这种方式的配置 rules
,在该文件内全局生效,该注释的书写位置并不影响实际的检测结果。
这种注释不起作用 // eslint semi: "warn"
,推荐使用这种形式 /* eslint semi: "warn" */
还可以利用 --
为注释添加额外说明,方便使用者的后期维护。(两个或两个以上的 -
)
- 通过命令行参数。
shell
eslint ./main.js --rule "{semi: warn, eqeqeq: [error]}"
#or
eslint ./main.js --rule 'semi: warn' --rule 'eqeqeq: [error]'
- 通过
.eslintrc.*
配置文件。
js
// .eslintrc.js
module.exports = {
rules: {
semi: "warn",
eqeqeq: ["error", "double"]
}
}
- 通过
package.json
文件中的eslintConfig: { rules: {} }
4-3.来源分类
rules
的来源分类有 4
种:
- 自定义
rules
。 eslint
的内置rules
,可以通过extends: "eslint:recommend"
引入。- 通过
eslint-config-*
等相关扩展引入,譬如exetends: "eslint-config-airbnb-base"
。 - 通过
eslint-plugin-*
等相关插件引入,譬如extends: "plugin:vue/essential"
,利用的是eslint-plugin-vue
。
4-4.禁用与启用
rules
的禁用与启用有 2
种方式:
- 通过代码注释中的
disable
与enable
来声明。
js
/* eslint-disable -- 禁用该行以下的所有规则 */
/* eslint-disable no-console, semi -- 禁用该行以下的某些规则 */
/* eslint-disable-line -- 禁用该行的所有规则 */
/* eslint-disable-line no-console, semi -- 禁用该行的某些规则 */
/* eslint-disable-next-line -- 禁用下一行的所有规则 */
/* eslint-disable-next-line no-console, semi -- 禁用下一行的某些规则 */
/* eslint-enable -- 启用该行以下的所有代码 */
- 或者通过
.eslintrc.*
中的overrides
来重写,将对应的规则置为off
。