Skip to content

钩子 husky

  • git 提交之前的验证钩子
  • 可以在 commit 之前,执行自定义操作,例如:代码格式化

安装

  • 安装
bash
pnpm install -D husky
  • 初始化
bash
pnpm husky install

使用

  • 在 package.json 中加入脚本
json
"scripts": {
    "prepare": "husky install",
}

配置

配置 Husky 非常简单。可以在 package.json 中如下配置。

js
"husky": {
    "hooks": {
        // pre-commit 命令添加到这里
        "pre-commit": "pnpm run format && eslint src --fix && pnpm run commitlint",
        // pre-push 命令添加到这里
        "pre-push": "",
    }
}

说明

  • pre-commit —— 用于保证代码提交前执行所有编码规范的钩子。它将在你执行 git commit 命令时运行。
  • pre-push —— 用于保证代码在推送到远程仓库之前符合编码规范。
  • pre-rebase —— 类似于上面的作用,它是在 rebase 操作完成之前执行的。