一、全局安装
npm install -g eslint
二、生成配置文件
在项目根目录执行init,生成.eslintrc文件。在init时,要求根目录存在package.json。当然也可以直接复制个现成的.eslintrc.js文件。
eslint --init
三、自定义配置项
根据规则文档,编辑.eslintrc.js文件内容。
module.exports = {
"env": {
"node": true
},
"rules": {
// 强制使用一致的缩进
"indent": ["warn", "tab"],
// 禁止空格和 tab 的混合缩进
"no-mixed-spaces-and-tabs":1,
// 禁用 debugger
"no-debugger": 1,
// 禁止不必要的布尔转换
"no-extra-boolean-cast": 1,
// 强制所有控制语句使用一致的括号风格
"curly": 1,
// 禁止使用多个空格
"no-multi-spaces": 1,
// 要求在函数标识符和其调用之间有空格
"func-call-spacing": 1,
// 强制在函数括号内使用一致的换行
"function-paren-newline": ["warn", "never"],
// 强制隐式返回的箭头函数体的位置
"implicit-arrow-linebreak": 1,
// 强制在对象字面量的属性中键和值之间使用一致的间距
"key-spacing": 1,
// 强制在关键字前后使用一致的空格
"keyword-spacing":1,
// 要求调用无参构造函数时有圆括号
"new-parens":1,
// 禁止出现多行空行
"no-multiple-empty-lines":1,
// 要求使用分号代替 ASI
"semi":["warn","always"],
// 要求操作符周围有空格
"space-infix-ops":1
}
};
配置内容也可以写在package.json中,具体规则也是写在rules里。有时用vue-cli生成的项目会在package.json里看到这样的配置:
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {},
"parserOptions": {
"parser": "babel-eslint"
}
}
四、执行检查并修改
eslint * --fix
来源:oschina
链接:https://my.oschina.net/u/4349100/blog/3839014