网站首页 > 开源技术 正文
前言
husky的作用就是在提交代码时触发不同的钩子,执行不同脚本,帮忙我们自动化的处理一些任务,这些钩子称为git hook。例如,我们可以在git commit之前进行eslint语法检查,如果检查不通过,git commit就会中断执行,这样就保证了提交到远程的代码是通过eslint检查的。
husky的基本使用
以下步骤适用于husky v9之前的版本。
1. 安装
2. 启动husky
该指令的作用就是在工程目录下添加了一个.husky的文件。
3. 添加script脚本
该指令的就是在package.json中插入一个script脚本。用于在npm install时自动启动git hooks。
4. 添加pre-commit钩子
该命令在.husky文件夹下创建了一个pre-commit文件。
注意:使用pnpm dlx husky-init可以同时实现第三步和第四步的操作,不过需要node为18版本以上。
lint-staged
当只想对暂存区(staged area)的文件进行lint检查,那么可以借助lint-staged来实现。
1.安装
2. 配置
可以直接在package.json文件中添加配置,也可以新建.lintstagedrc.json文件增加配置。 package.json的配置demo:
.lintstagedrc.json的配置demo:
说明:
- src/**/*.{js,jsx}:匹配 src 目录下所有的 js 和 jsx 文件。
- 匹配规则: ** 表示递归匹配目录 /*.{js,jsx}会展开为 /*.js /*.jsx 逆向匹配:!(目录名1|目录名2)/**/*.{js,jsx} 匹配除了目录名1和目录名2外的所有目录下的js和jsx文件
3. 结合husky使用
在package.json增加script脚本:
之后在pre-commit文件上面添加npm run lint-staged:
4. 验证
husky v9版本的使用
不推荐使用npx husky init进行husky初始化。因为它生成的git hooks不能执行。最终会报如下错误:
百度说可能跟电脑系统有关,Windows系统会报相应的错误,不知道Mac或者Linux会不会报错。
如有大佬知道该报错的解决办法,欢迎评论!
如果你使用了husky v9的版本,可以使用pnpm dlx husky-init启动git hooks。此命令要求node为18以上版本。
原文链接:https://juejin.cn/post/7407627016675459107
- 上一篇: 拒绝平庸!哈士奇意式轻奢复古冰箱
- 下一篇: 打开才知道 里面多有货(怎么打开不知道密码的手机)
猜你喜欢
- 2024-09-28 ChipWhisperer-Husky,手掌大小的功耗分析和故障注入工具
- 2024-09-28 Meta开源用于数学等复杂推理AI Agent—HUSKY
- 2024-09-25 Blued一哥:谁给他的勇气自封gay一哥,梁静茹吗?
- 2024-09-25 词raucous,bellow,husky,Siberian,Serbian,Samoyed,trove
- 2024-09-25 打开才知道 里面多有货(怎么打开不知道密码的手机)
- 2024-09-25 拒绝平庸!哈士奇意式轻奢复古冰箱
- 2024-09-25 冠品涂装20年-固瑞克HUSKY 气动隔膜泵的概述及优势
- 2024-09-25 为什么husky不再使用自动安装脚本
- 2024-09-25 美国代购的husky全天候脚垫终于装上了
- 2024-09-25 .NET 也有 Husky 了(.net guid)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)