在前端开发领域,工程化日趋成熟,代码质量和代码风格的规范和约束也越来越重要。在这个过程中,代码的提交和推送也成为了重要的环节。这时,husky-template 这个 npm 包就可以派上用场了。
husky-template 是什么
husky-template 是一个预设的 husky 钩子的模板,可以方便地对代码进行规范检查、提交前的校验等操作。
husky-template 怎么用
安装 husky-template
npm i husky-template -D
在 package.json 中配置 husky
"husky": { "hooks": { "pre-commit": "npm run lint", "commit-msg": "validate-commit-msg", "pre-push": "npm run test" } }
这里我们配置了三个 husky 钩子,pre-commit 用于提交前的代码检查,commit-msg 用于提交信息的校验,pre-push 用于推送前的测试。这些操作可以根据具体情况进行变更或删减,或者增加新的钩子。
在 scripts 中配置 lint、test、validate-commit-msg 等钩子对应的脚本
"scripts": { "lint": "eslint src", "test": "jest", "validate-commit-msg": "echo $HUSKY_GIT_PARAMS | commitlint" }
在项目根目录下创建 commitlint.config.js 文件
module.exports = { extends: ['@commitlint/config-conventional'], };
功能测试
git add . git commit -m "test commit"
以上操作完成后,可以发现提交信息不符合规范,从而出现提示。
husky-template 的指导意义
husky-template 可以避免代码在提交和推送时出现问题,比如代码规范不符合团队规范,提交信息不符合要求等。通过 husky-template,开发人员不仅可以保证代码质量和风格的规范和约束,也可以避免因为团队成员的疏忽而导致的问题。此外,通过 husky-template 的使用,开发人员也可以熟练掌握 husky 的使用方法,增强自己在工程化方面的知识储备。
husky-template 示例代码
项目地址:https://github.com/BryantWu/husky-template-demo
<html> <head> <title>husky-template 示例代码</title> </head> <body> <h1>Hello, world!</h1> </body> </html>
// eslint-disable-next-line no-unused-vars const unused = 'unused variable'; function add(a, b) { return a + b; } add(1, 2);
-- -------------------- ---- ------- - ------- ---------------------- ---------- -------- -------------- --------------- ------ ------- ----------- ---------- - ------- ----- -------- -- ---- ----------- -- ---- --- ------- ------- ----- -------- ----- ---------- ---------------------- ----- ----------------- - ----------- -- -------- - -------- - ------------- ---- --- ------ ------------- --------------------- - -- ----------- - -------- ------ ------ -- --------- ----------- ---------- ------ ------------------ - ------------------ ---------- ---------------------------------- ---------- --------- ---------- ---------------------------- ---------- ----------------------- ---------- -------- -------- - -
// commitlint.config.js module.exports = { extends: ['@commitlint/config-conventional'], };
总结
husky-template 可以方便地进行代码规范的检查、提交信息的校验和测试等操作,提高代码质量和风格的规范和约束,从而避免因为团队成员的疏忽而导致的问题,同时也可以增强开发人员在工程化方面的知识储备。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005541981e8991b448d16f9