Husky 入门教程

Husky 是一个 NPM 包,用更好的使用 Git 钩子来管理项目。通常它被用于项目的代码提交前的各类规范的检查。
安装和配置
安装 Husky
npm install husky --save-dev启用 Husky
npx husky install在 package.json 中添加 prepare 钩子,用于在
npm install之后自动启用 Huskynpm set-script prepare "husky install"package.json文件将会添加一个preparescript:{ "scripts": { "prepare": "husky install" } }
创建钩子
npx husky add .husky/pre-commit "npm run lint"
配合 lint-staged 使用
lint-staged 是一个在提交代码前,只检查提交的文件的工具。它可以配合 Husky 使用,只检查提交的文件,而不是整个项目。
在项目中安装
lint-staged和eslint(或其他你需要的规范检查工具)npm install lint-staged eslint --save-dev在
package.json中添加lint-staged配置{ "lint-staged": { "*.{js,jsx,ts,tsx}": "eslint --fix" } }创建使用
lint-staged的钩子npx husky add .husky/pre-commit "npx lint-staged"
配合 commitlint 使用
commitlint 是一个用于检查提交信息是否符合规范的工具。它可以配合 Husky 使用,检查提交信息是否符合规范。
在项目中安装
@commitlint/cli和@commitlint/config-conventionalnpm install @commitlint/cli @commitlint/config-conventional --save-dev在项目根目录创建
commitlint.config.js文件module.exports = { extends: ["@commitlint/config-conventional"] };创建使用
commitlint的钩子npx husky add .husky/commit-msg "npx --no-install commitlint --edit $1"
结语
Husky 是一个非常好用的工具,可以帮助我们更好的管理项目的代码提交规范。用来解决因个人编码风格差异引发的潜在冲突,提升团队协作效率。