安装
npm install --save -D husky
使用
npm set-script prepare "husky install"
npm run prepare
执行第一步,相当于在package.json中创建了一个指令 prepare: “husky install”
npm run prepare,则执行该指令
如上图所示,git hooks已经下载,你会发现仓库最外层新增了一个名为.husky的文件夹
添加hooks
// 默认package.json是在仓库最外层,即package.json与.husky同级
npx husky add .husky/pre-commit "npm test"
git add .husky/pre-commit
commit
执行git commit,可以发现提交之前会自动执行npm test指令~
注:以上操作都建立在package.json与.husky文件夹在同一层级下!!.husky一般创建于仓库最外层。如果package.json不在仓库最外层,则我们需要做相应的处理!
特殊处理
以下文件结构
|- project
|-client
|-package.json
则上述指令需变更为:
npm set-script prepare "cd ../ && husky install"
npm run prepare
npx husky add ../.husky/pre-commit "cd client && npm test"
git add ../.husky/pre-commit
总的来说,.husky文件应该被下载在仓库最外层目录,所以需要从package.json的当前目录链接到.husky所在目录下去创建hooks。
PS:如果问题,敬请指出,感谢感谢!!