配置git commit提交规范
在提交代码到git仓库之前,Eslint自动的去验证代码规范,防止不符合规范的代码提交到git仓库中。
安装husky
提供git钩子的工具,设置在提交(commit)代码的时候通过 git hook 来运行lint-staged。
husky这个工具就类似于请求拦截器在git commit或者是git push的时候去做点什么。
npx husky-init
npm install
运行这个命令会:
- 添加
prepare: 'husky install'脚本到package.json,添加完这个命令,别人拉取代码npm install时会自动执行prepare命令,保证别人拉取的代码也有git 钩子。 - 创建一个
pre-commit可以编辑的示例挂钩(默认情况下,npm test将在提交时运行) - 配置Git钩子路径
安装lint-staged
lint-staged的作用是针对暂存的 git 文件运行 linter,对代码进行规范检查,怎么进行检查需要自己进行配置,并且不要让💩滑入您的代码库!
npm install --save-dev lint-staged
配置lint-staged
在项目根目录创建.lintstagedrc文件,然后使用commonjs模块规范向外暴露一个对象:
{
"*.{js,jsx,ts,tsx}": [
"prettier --cache --ignore-unknown --write",
"eslint --cache --fix"
],
"{!(package)*.json,*.code-snippets,.!({browserslist,npm,nvm})*rc}": [
"prettier --cache --write--parser json"
],
"package.json": ["prettier --cache --write"],
"*.vue": [
"prettier --write",
"eslint --cache --fix",
"stylelint --fix --allow-empty-input"
],
"*.{css,scss,html}": [
"prettier --cache --ignore-unknown --write",
"stylelint --fix --allow-empty-input"
],
"*.md": ["prettier --cache --ignore-unknown --write"]
}
修改.husky/pre-commit
将 npm test 换成 npx lint-staged
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
# npm test
npx lint-staged
配置好后,在git commit的时候就会运行npx lint-staged命令,从而运行eslint等代码规范校验工具,对代码进行规范验证。
如果node版本过低,则会出现如下报错: