一、用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