eslint 的默认规则都在 node_modules/eslint/libs/rules里面
具体所有的规则文档可以阅读这里 https://cn.eslint.org/docs/rules/ 都有相关的介绍
第一步:引用本地开发规则路径
也比较简单,eslint 有 --rulesdir 参数,
eslint --ext .js --ext .jsx src --rulesdir ./rules
把自己的项目规则目录添加进去,然后配置rc文件.eslintrc.js
china 是创建的js文件(rules目录下的)
china.js具体代码
module.exports = {
meta: {
messages: {
first: "这是个测试 {{name}}"
},
docs: {
description: '有没有china单词',
category: 'Possible Errors',
recommended: true,
url: '',
},
fixable: 'code',
schema: [{
"enum": ["always", "never"]
},
{
"type": "object",
"properties": {
"exceptRange": {
"type": "boolean"
}
},
"additionalProperties": true //是否可以有其他属性
}]
},
create(context) {
return {
}
}
}
meta rule的一些配置项
- message 抛出异常的时候信息设置
context.report({
node,
messageId: 'first',
data: {
name: '123123123123'
}
})
- schema options配置项规则设置
// rc文件
rules {
"china": ["warn", "always",{"exceptRange":true, 'ljlsdf':123}],
}
//china文件
schema: [{
"enum": ["always", "never"]
},
{
"type": "object",
"properties": {
"exceptRange": {
"type": "boolean"
}
},
"additionalProperties": true //是否可以有其他属性
}]
create(context) {
console.log(context.options)
//这里可以增加校验模块的方法
}