赫斯基 - Git 钩子 (typicode.github.io)
1.安装
- 安装
husky
npm install husky --save-dev
- 启用 Git 钩子,启用后会提示
husky - Git hooks installed
,同时在项目根目录创建一个.husky
目录
npx husky install
- 要在安装后自动启用 Git 挂钩
npm pkg set scripts.prepare="husky install"
安装完会自动在package.json
生成以下命令
// package.json
{
"scripts": {
"prepare": "husky install"
}
}
2.创建挂钩
- 要将命令添加到钩子或创建新命令,此处我们的需求是在提交之前做eslint校验
npx husky add .husky/pre-commit "npm lint"
尝试提交
git add .husky/pre-commit
git commit -m "测试提交"
如果命令失败,提交将自动中止。
npm lint 是全量检查,耗时问题,历史问题。
所以,推荐使用暂存区 eslint 校验
- 安装
npm i lint-staged -D
- 配置
package.json
{
// ... 省略 ...
"lint-staged": {
"*.{js,ts,vue}": [
"eslint --fix" //自动尝试修复
]
}
}
- 修改 .husky/pre-commit 文件
npm lint-staged