解决 vue-cli 使用 gitHooks 失效问题

1,072 阅读1分钟

问题背景:

在使用 vue-cli 4.5.8初始化 vue 项目时,在vue create project时,选择了

 Pick additional lint features: Lint and fix on commit

项目初始化完成之后,会在 package.json 中增加如下配置

"gitHooks": {
   "pre-commit": "lint-staged"
 },
 "lint-staged": {
   "*.{js,jsx,vue}": [
     "vue-cli-service lint",
     "git add"
   ]
 }

关于 Git Hook 官方说明

yorkie 和 husky 两者的功能是一样的,都是生成一些 git hooks 文件,再读取项目中 package.json 的相关配置去执行一些命令

问题原由

后续由于手动误删了项目根目录下的 .git 目录,导致项目在 commit 时无法触发 Git Hook

问题解决

找到如下路径:node_modules/yorkie/bin/install.js 再使用 node 执行此文件,重新生成 .git 目录中 .git/hooks 即可