一、用vue create创建项目时,安装eslint,已经有lint配置和规范。
二、代码语法检查 - eslint
vscode 安装eslint
通过 file - peference - settings - open setting(json),添加json配置
"eslint.validate": ["javascript","javascriptreact","html","vue",],"eslint.options": {"plugins": ["html"]}
如果使用团队单独的lint规则,可以创建.eslintrc.js文件,放在根目录,与src同级,
参考:https://github.com/PanJiaChen/vue-element-admin/blob/master/.eslintrc.js
三、代码风格检查并修改
prettier
vscode安装prettier,在setting.json中添加配置
"editor.codeActionsOnSave": {"source.fixAll": true},"files.autoSave":"off","editor.defaultFormatter": "esbenp.prettier-vscode","[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"editor.formatOnSave": true,
四、代码提交前检查 husky + lint-staged
(1)利用git hook在push前检查代码,确保线上质量。
1、使用 husky git hook工具
安装husky
npm install -D husky
2、添加precommit 脚本
{"scripts": {"precommit": "eslint src/**/*.js"}}
此时premmit脚本会对所有文件进行检查,我们只需要检查新修改的文件,所以可以用lint- staged插件。<br />(2)lint-staged<br />安装
npm install -D lint-staged
添加package.json配置
"husky": {"hooks": {"pre-commit": "lint-staged"}},"lint-staged": {"src/**/*.{js,vue}": ["prettier --write", "eslint --cache --fix", "git add"]}
git commit 时,git hook触发precommit钩子,husky执行precommit脚本,precommit引用了lint-staged,lint-staged配置表明只扫描添加到stage区的文件。
lint-staged做了三件事:
(1)代码风格格式化
(2)使用eslint检查语法错误并修复
(3)将文件重新add到stage区,然后执行 git commit
