前言
在现代 Web 应用开发中,前端开发人员需要经常进行版本控制和代码管理。其中, Git 是最常用的版本控制系统之一。然而,人们常常犯错如提交不规范的代码,导致仓库混乱。
为此,我们需要一个工具来检查贡献者的提交并进行相关的操作。而 Husky 就是这样一个工具,它支持 Git hooks 配置,将代码规范化并自动进行校验。我们可以通过 npm 包 @fisker/husky-config 来更加便捷地使用 Husky。
安装
安装 @fisker/husky-config 的方式与绝大部分 npm 包一样,使用 npm 或 yarn 即可,例如:
--- ------- ---------- --------------------
使用
1. 初始化 Husky
在项目的根目录下运行以下命令来安装 Husky:
--- ----- -------
2. 配置 Hooks
修改 package.json
,添加以下代码:
-------- - -------- - ------------- -------------- ------------- ------- ----------- - --
其中, pre-commit
钩子将在每次提交前运行 lint-staged
命令,并检查当前目录下暂存的文件是否符合规范。
而 commit-msg
钩子用于在每次提交时运行 fisker commit-msg
指令,以确保提交信息(commit message)符合预设的规范。而 fisker commit-msg
即为我们安装了 @fisker/husky-config 包后的校验指令。
3. 指定校验规则
去项目的根目录下创建 .fiskerrc.js
文件,并添加以下内容:
-------------- - - ------ -------- ------ ------- -------- ----------- ------- -------- ---------- ----------------- ---- ----------------- - -- ------------ ---------------- ---------------- ----- -------------- --- --
这里的规则内容可以自定义修改。具体的说明如下:
types
字段:定义可用的提交类型;subjectMaxLength
字段:规定提交信息的最大长度;subjectSeparator
字段:规定主题和具体信息之间的分隔符;subjectCase
字段:规定主题的字母大小写格式;subjectRequired
字段:规定提交必须包含主题(也称为标题);bodyMinLength
字段:规定提交信息的具体内容最少包含的字符数量。
4. 运行 Husky
现在我们就可以使用 Husky 提供的 Automerge 功能对代码进行规范化了。
在终端输入以下代码,启动 Husky:
--- ----- --- ----------------- ---- ------------ ------ ---------- ---
然后,可以通过以下代码测试提交是否符合规范(示例):
--- ------ -- ------ ----
此时,提交信息符合预设的格式,并将正常提交。
而输入以下代码:
--- ------ -- -----
则将无法提交,因为提交信息必须包含标题。
最后,为了使检查更加严格,我们可以添加以下代码,使校验规则在每次提交时都生效:
--- ----- --- ----------------- ---- ------------ ------------
在终端中输入以上命令即可。
结语
这样,我们就利用了 @fisker/husky-config 包实现了 Git hooks 配置,将代码规范化并自动进行校验。这对于前端开发人员在团队开发中的协作和代码管理非常有帮助。
更多细节和功能可参照 @fisker/husky-config 的 GitHub 主页,或者通过 npx fisker --help
查看。当然,更多功能和配置你也可以去官方 Husky 来查看。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedc2a8b5cbfe1ea06120c0