【前端】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-commit "npm test",这段代码会在执行 commit 前运行 npm test

需求

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

解决方式:

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

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

commit_msg_file=$1
prepend_msg="[xxx]"

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

总结

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

  1. git hooks
  2. Linux 命令行

好在目前 LLM 非常发达,碰到类似的问题可以直接问 AI。文章来源地址https://www.toymoban.com/news/detail-650363.html

到了这里,关于【前端】husky 的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为react项目添加开发/提交规范(前端工程化、eslint、prettier、husky、commitlint、stylelint)

    因历史遗留原因,接手的项目没有代码提醒/格式化,包括 eslint、pretttier,也没有 commit 提交校验,如 husky、commitlint、stylelint,与其期待自己或者同事的代码写得完美无缺,不如通过一些工具来进行规范和约束。 eslint 是一个代码校验工具,用来规范项目代码风格。 初始化 通

    2024年02月14日
    浏览(79)
  • Husky使用简明教程

    Husky 是一个流行的 Git 钩子工具,用于在不同的 Git 操作(如提交和推送)前自动运行脚本。比如代码格式化、静态检查等。这有助于保持代码库的质量和一致性。本教程将详细介绍 Husky 的原理、使用方式、配置方法以及如何在开发中集成 Husky。 Husky 原理 安装 Husky 配置 Hus

    2024年04月10日
    浏览(32)
  • 【git规范--husky的使用】

    在团队开发中,或者自己的项目中,我们都会用到git来管理我们的代码,但是当我们commit(git commit)的时候,是没有规范的,有的时我们偷懒甚至 git commit -m\\\'..\\\' ,这种提交虽然当时爽,但如果有一天我们需要回滚版本的时候, git relog ,妈耶,这都是啥啊,如果在团队开发中这

    2024年02月05日
    浏览(61)
  • git commit使用husky校验代码格式报错 因为没有将钩子 ‘.husky/pre-commit‘ 设置为可执行

    系统 mac husky一直没什么问题,有一天发现给git commit 的时候 终端报错 解决办法 之后在git commit 发现,husky是可以工作但是还是有报错信息 这个错误是由于系统无法找到 ‘.husky/commit-msg’ 文件或目录导致的。通常,这是因为你的项目中缺少了 ‘.husky’ 目录或者该目录中缺少

    2024年04月09日
    浏览(48)
  • 代码规范 & 详细解释 husky、prettier、eslint、lint-staged 的作用和使用

    使用 vscode 新建一个项目(比如叫 my-project) 初始化 git 仓库( git init ) 初始化 package.json ( npm init -y ) 新建 src/main.js 项目结构如图 .git 目录没有出现在 vscode 编辑器中是正常的。 在介绍 husky 之前,首先要理解什么是 hook(钩子),在前端 Vue 框架中提供了 beforCreated、created、

    2024年02月03日
    浏览(41)
  • Linux如何使用Nginx部署前端项目

    输入命令: rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm 输入命令: yum install nginx 注1:yum方式安装nginx,它的安装根目录为 /etc/nginx 注2:查看nginx版本      输入命令: rpm -qa | grep nginx  小嘴一提: Nginx的默认端口号是80,所以在访问项目输入地址的

    2023年04月25日
    浏览(39)
  • 【已解决】使用 husky、commitlint 后 git commit 报错:No staged files match any configured task.

    git commit 报错:No staged files match any configured task. 这就涉及到 git hooks 了,熟悉的小伙伴自不用多说,不熟悉的可以看一下官方文档:Git - Git 钩子 如果报错中有 husky 、 commitlint 这样的眼,那就是前端项目中使用了这两种 npm 插件, husky 的配置文件在如下截图位置: 最粗

    2024年02月09日
    浏览(44)
  • linux中使用jenkins自动部署前端工程

    1、去年在自己的服务器上安装了jenkins,说用来自己研究一下jenkins自动化部署前端项目,jenkins安装好了,可是一直没管,最近终于研究了一下使用jenkins自动化部署,以此记录下来。 由于安装已经过去大半年时间了,具体步骤没有记录,可以到网上自行百度。 大致流程: 1、

    2024年02月05日
    浏览(18)
  • Linux 安装 nvm,并使用 Jenkins 打包前端

    nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 蓝奏云下载 nvm地址:https://wwi.lanzoup.com/iSPbl1weyr4d GitHub 地址:https://github.com/nvm-sh/nvm/releases

    2024年04月29日
    浏览(23)
  • 使用pre commit钩子再git commit时报错“husky - pre-commit hook exited with code 1 (error)”

    使用husky配置git commit规范 1.我们在使用 npx husky install ,初始化之后,项目 根目录 下会出现 .husky 文件夹 2.npx husky add .husky/pre-commit \\\'npx lint-staged’命令是为了在git提交的时候,使用lint-staged格式化代码 我们发现在pre-commit 文件中已经自动生成如下内容: 但是两次执行git commit时控制

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包