-
复制文件到项目根目录
- .vscode vscode 的配置
- .daojia-eslint-base.js
- .eslintrc.js
- .eslintignore.js
- .editorconfig
- .huskyrc
- .lintstagedrc
-
安装 npm 模块
- eslint(如果项目已安装,注意更新版本,有些规则在某些低版本不存在会导致报错)
- babel-eslint
- vue-eslint-parser
- eslint-plugin-vue
- husky(node 版本必须为 8.6.0 以上,推荐安装 nvm 控制 node 版本)
- lint-staged
-
VsCode 推荐安装以下插件
- ESLint
- Vetur
- Prettier
- EditorConfig
/** * VsCode 配置项 * */ { "editor.tabSize": 4, //制表符符号大小 "eslint.autoFixOnSave": true, // 每次保存的时候将代码按eslint格式进行修复 "prettier.eslintIntegration": true, //让prettier使用eslint的代码格式进行校验 "prettier.semi": false, //去掉代码结尾的分号 "prettier.printWidth": 200, "prettier.tabWidth": 4, "prettier.singleQuote": true, //使用单引号替代双引号 "javascript.format.insertSpaceBeforeFunctionParenthesis": true, //让函数(名)和后面的括号之间加个空格 "vetur.format.defaultFormatter.html": "js-beautify-html", //格式化.vue中html "vetur.format.defaultFormatter.js": "vscode-typescript", //让vue中的js按编辑器自带的ts格式进行格式化 "vetur.validation.template": false, "vetur.format.defaultFormatterOptions": { "js-beautify-html": { "wrap_attributes": "force-aligned" //属性强制折行对齐 } }, // 错误高亮显示 "eslint.validate": [ "javascript", "javascriptreact", { "language": "html", "autoFix": true }, { "language": "vue", "autoFix": true } ] }
项目最好先初始化为 git 项目,否则安装 husky 插件时,husky 无法找到.git/hooks 目录,导致 git 钩子添加失败,发生这种情况,请先把项目初始化为 git 项目后,再重新安装 husky 插件
eslint 通用规则配置
利用 eslint-plugin-vue 插件对 vue 语法进行规则限制
如果不需要 vue 配置,拷贝.daojia-eslint-base 文件到项目根目录,更名为.eslintrc.js
规避 eslint 检测某些文件夹或文件
编辑器配置,如果不想使用 eslint 的代码风格约束,可以使用此文件来格式化代码,编辑器需要安装 EditorConfig 插件
husky 会在.git/hooks 下添加钩子脚本,在进行 git 操作时,会触发相应的 git 钩子,然后执行配置的命令
只对暂存区的文件进行命令操作 问题:如果一个旧项目接入,之前已经 commit 的代码无法被检测到
- ESLint 配置项
- ESLint for Vue 配置项
- EditorConfig 配置项
- Git 钩子
- husky
- lint-staged
- 用 husky 和 lint-staged 构建超溜的代码检查工作流
此规范只是个基础,如果需要的话可以自行修改配置(不建议修改等级为 error 的规则)