Husky 开源项目教程
huskyCommon packages for the Clearpath Husky项目地址:https://gitcode.com/gh_mirrors/hus/husky
项目介绍
Husky 是一个用于增强 Git 钩子的开源项目,它可以帮助开发者在提交代码时自动执行代码检查、格式化、测试等操作,从而提高代码质量和开发效率。Husky 的特点包括:
- 轻量级:仅 2 kB(压缩后),无依赖。
- 极速:运行时间约为 1 毫秒。
- 现代:使用新的 Git 特性(core hooksPath)。
- 跨平台:支持 macOS、Linux 和 Windows。
- 灵活:支持所有 13 个客户端 Git 钩子,并提供分支特定钩子、POSIX shell 脚本等高级功能。
项目快速启动
安装 Husky
首先,确保你的项目已经初始化为 Git 仓库,然后安装 Husky:
npm install husky --save-dev
初始化 Husky
在项目根目录下运行以下命令来初始化 Husky:
npx husky install
添加 Git 钩子
例如,添加一个 pre-commit
钩子来运行 ESLint:
npx husky add .husky/pre-commit "npm run lint"
提交代码
现在,当你尝试提交代码时,Husky 将自动运行 ESLint 检查:
git add .
git commit -m "Add Husky and ESLint"
应用案例和最佳实践
自动格式化代码
结合 Prettier 和 Husky,可以在提交代码前自动格式化代码:
-
安装 Prettier:
npm install prettier --save-dev
-
添加 Prettier 配置文件
.prettierrc
:{ "singleQuote": true, "trailingComma": "all" }
-
添加
pre-commit
钩子:npx husky add .husky/pre-commit "npx prettier --write ."
运行测试
结合 Jest 和 Husky,可以在提交代码前自动运行测试:
-
安装 Jest:
npm install jest --save-dev
-
添加
pre-commit
钩子:npx husky add .husky/pre-commit "npm test"
典型生态项目
Husky 可以与许多流行的开源项目结合使用,以下是一些典型的生态项目:
- ESLint:用于代码检查和格式化。
- Prettier:用于代码格式化。
- Jest:用于单元测试。
- Next.js:用于构建 React 应用。
- Webpack:用于模块打包。
- Angular:用于构建单页应用。
- Docusaurus:用于构建文档网站。
- VS Code:用于代码编辑。
通过结合这些工具,Husky 可以帮助开发者构建更加健壮和高效的项目。
huskyCommon packages for the Clearpath Husky项目地址:https://gitcode.com/gh_mirrors/hus/husky