第一步,你得有个自己的文件夹----- 一定要以‘eslint-config-* 为前缀
比如 我的就是 ‘eslint-config-test’
第二步,创建个测试文件 test.js
function te() {
var a = [1,2,3,4,5]
var sum = 0
for(var i = 0; i < a.length;i++){
sum += a[i];
}
return sum;
}
console.log(te())
运行通过后,一定要记得查看你是否配置了eslint
如果没有的话,就要全局安装了哦 npm install -g eslint
利用已经安装的eslint检查上边的测试代码是否有问题 eslint test.js
没报错的话就说明你通过了哦。。
第三步,创建 .eslintrc.js
module.exports = {
extends: 'eslint:recommended',
};
再试一试 eslint test.js
哎呦,,报错了哦
- Unexpected console statement no-console - 不能使用
console
- ‘console’ is not defined no-undef -
console
变量未定义,不能使用未定义的变量
根据报错,将 .eslintrc.js 中的内容改为
module.exports = {
extends: 'eslint:recommended',
env: {
node: true,
},
rules: {
'no-console': 'off',
},
};
再运行 eslint test.js ,不报错吧!
第四步,创建 package.json
{
"name": "eslint-config-test",
"version": "1.0.0",
"eslintConfig": {
"extends": "eslint:recommended",
"env": {
"node": true
},
"rules": {
"no-console": "off"
}
}
}
现在只是在eslint:recommended基础上添加了规则 "no-console": "off"
第五步,如何做到共享配置文件
创建 public-eslintrc.js
module.exports = {
extends: 'eslint:recommended',
env: {
node: true,
},
rules: {
'no-console': 'off',
'indent': [ 'error', 2 ],
'quotes': [ 'error', 'single' ],
},
};
修改 .eslintrc.js
module.exports = {
extends: './public-eslintrc.js',
};
执行eslint 检查
这就说明公共配置文件已经生效了!
eslint test.js --fix 就可以修复报错!
这样就可以将一些自定义的规则放入public-eslintrc.js中了,当然你也可以创建很多个配置文件!
第六步,发布自己的配置
在这里我将public-eslintrc.js 改为了index.js了
修改package.json里的内容
{
"name": "eslint-config-test",
"version": "1.0.0",
"main": "index.js"
}
为了能让eslint
正确载入这个模块,我们需要执行npm link
将这个模块链接到本地全局位置 npm link eslint-config-test
如果失败了,可以试试 sudo npm link eslint-config-test
将.eslintrc.js修改为
module.exports = {
extends: 'test',
};
在extends中eslint-config-test可以简写为test
最后就可以npm publish 打包了 ,让其他人可以通过 npm install -g eslint-config-test 使用你配置的文件啦!
在这最后一步我遇到一个问题,就是需要设置仓库地址 npm config set registry https://registry.npmjs.org/
之后需要在npm中注册自己的姓名及邮箱 npm login
最后执行 npm publish
可参考:https://morning.work/page/maintainable-nodejs/getting-started-with-eslint.html