【前端】husky 的使用

【前端】husky 的使用

husky 是一个优化 git hooks 的 npm 库

Modern native Git hooks made easy

安装和使用

1.安装 npm install husky --save-dev
2. 初始化 npx husky install;官方文档的写法是在 package.json 中初始化,本质上还是执行了 npx husky install 指令
3. 添加 hook: npx husky add .husky/pre-***mit "npm test",这段代码会在执行 ***mit 前运行 npm test

需求

目前的需求并不是在提交前运行某个脚本,而是在提交信息前增加一个前缀,比如 git ***mit -m "chore: init",最终得到的 message 为 "[xxx] chore:init",为此需要创建一个 prepare-***mit-msg 文件:npx husky add .husky/prepare-***mit-msg。注意这段指令并没有指定执行该 hook 时执行的指令,结果会导致 .husky/prepare-***mit-msg 中会有行 undefined,使 ***mit 时执行脚本报错:***mand undefined not found

解决方式:

vim .husky/prepare-***mit-msg
# 删掉 undefined 行,并添加如下代码:

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

***mit_msg_file=$1
prepend_msg="[xxx]"

# 检查提交消息是否以 [xxx] 前缀开头
if ! grep -q "$prepend_msg" "$***mit_msg_file"; then
  echo "${prepend_msg}`(cat $***mit_msg_file)`" > "$***mit_msg_file"
fi

总结

本文记录了 husky 的基本使用方式和踩到的坑,但本质上需要了解的是:

  1. git hooks
  2. Linux 命令行

好在目前 LLM 非常发达,碰到类似的问题可以直接问 AI。

转载请说明出处内容投诉
CSS教程_站长资源网 » 【前端】husky 的使用

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买