通过前面几节的介绍,目前想要提交代码,就要保证代码格式规范
和提交信息格式规范
,特别是pre-submit
会检测所有代码的格式规范
,这就会存在两个问题:
要处理上面两个问题,就需要使用lint-staged
插件了。
lint-staged
可以让当前的代码检查只检查本次修改更新的代码,并在出现错误的时候,自动修复且推动
lint-staged
无需单独淡妆,在生成项目时,vue-cli
已经帮我们安装过了,所以直接使用即可。
修改package.json
,如下:
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
}
如上配置,在每次本地commit
之前,校验提交的内容是否符合本地配置的eslint
规则,校验会出现两种情况:
eslint --fix
尝试自动修复,如果修复成功,则自动把修复后的代码提交,如果失败,会提示错误,手动修复后才允许提交代码在.husky
中的pre-commit
,修改指令,如下:
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# npx eslint --ext .js,.vue src
npx lint-staged
将HomeView
中的单引号
修改为双引号
,执行提交操作,如下:
这样就完成了代码格式的自动修复及提交。
在这几篇文章中,主要处理了编程格式规范
的问题,整个规范分为两大类:
对于代码格式规范
,通过ESLint + Prettier + VSCode配置
配合进行了处理,最终达到了在保存代码时自动规范化代码格式的目的。
对于git提交规范
,我们使用了husky
来检测git hooks
钩子,并且通过以下插件完成了对应的配置:
commitizen
:git
提交规范化工具commitlint
:检查提交信息规范pre-commit/commit-msg
:git hooks
钩子lint-staged
:只检查本次修改更新的代码,并在出现错误的时候自动修复并推送