首先安装ESLint相关的依赖javascript
npm i -D eslint npm i -D babel-eslint npm i -D eslint-config-standard npm i -D eslint-plugin-babel npm i -D eslint-plugin-html npm i -D eslint-plugin-import npm i -D eslint-plugin-node npm i -D eslint-plugin-promise npm i -D eslint-plugin-standard npm i -D eslint-plugin-vue
{ "parser": "vue-eslint-parser", "parserOptions": { "parser": "babel-eslint", "ecmaVersion": 2019, // 使用目前最新的,没找到相似next的配置方式 "sourceType": "module" }, "env": { "browser": true // 其余环境能够针对去加 }, "extends": [ "plugin:vue/base", "standard" // 我决定在standard基础上微调 ], "plugins": [ "vue" ], "rules": { "semi": [2, "always"], // standard默认不带分号,我以为仍是加上好 "no-debugger": "off" // 容许书写debugger,方便开发调试 } }
这样配置只会让不合规范的代码在dev或者build的时候报错,但会拉低开发效率,故而我在package.json中增长了--fix命令,使其能在本地dev运行前自行修复格式类错误。另外经过husky和lint-staged配合,能够实如今本地commit以前,对本次修改范围内的代码执行特定脚本,经过以下配置便可在commit时再次进行校验和fix。
实现before commit校验须要的依赖html
npm i -D husky npm i -D lint-staged
package.jsonvue
"scripts": { "dev": "npm run lint:fix && ecf run --env local", // 本地调试启动时会自动执行fix "lint": "eslint --ext .js,.vue client", "lint:fix": "eslint --fix --ext .js,.vue client" // 运行npm run lint:fix便可自动修复格式类错误 }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "*.{js,vue}": "npm run lint:fix" }
另外在远程端也能够配置lint对应校验,咱们公司内的发布平台已经提供对应功能的流水线设置,无需本地进行配置。java
package.json只能在每次dev启动时执行fix,这并不能知足咱们边开发边调试的须要,另外代码中的错误也没有实时提示,只能在命令行报错后才知道。node
为了解决这些问题,咱们须要在VSCode中安装Vetur和ESLint插件,并增长以下VSCode配置npm
"eslint.autoFixOnSave": true, // 每次保存时便自动fix "eslint.validate": [ // 实时报错提醒 "javascript",{ "language": "vue", "autoFix": true }, "html", "vue" ]