ESLint 使用方法
一、全局安装
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