官网
1、介绍
关于 Husky 和暂存区
Husky 是一个用于在 Git 中设置钩子(hooks)的工具,它可以帮助开发者在执行某些 Git 命令(如 commit、push 等)之前或之后自动运行脚本。这在确保代码质量、遵循编码标准等方面非常有用。
Husky 与 暂存区 的结合使用
pre-commit:这是 Husky 最常用的钩子之一。通过配置 pre-commit 钩子,可以在每次执行 git commit 命令之前自动运行指定的脚本。这些脚本可以用来执行代码风格检查、代码质量分析、单元测试等任务。
Lint-staged:通常与 Husky 结合使用,Lint-staged 能够帮助开发者仅对暂存区中的文件执行特定的任务,比如通过 ESLint 进行代码风格检查。这种方式不仅提高了效率,还减少了不必要的全局代码检查,特别是在大型项目中更为明显。
2、安装、配置
安装
# 使用 npm
npm install husky lint-staged --save-dev
# 使用 yarn
yarn add husky lint-staged --dev
初始化 Husky
npx husky install
设置 pre-commit 钩子
# 方式一:husky add 命令'已弃用'
npx husky add .husky/pre-commit "npx lint-staged"
# 方式二:使用 npx husky set 命令来创建 pre-commit 钩子
npx husky set .husky/pre-commit "npx lint-staged"
# 方式三:手动创建 .husky/pre-commit
npx lint-staged
配置 lint-staged
{
"scripts": {
"prepare": "husky install"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,ts,jsx,css,less,sass,json,vue}": [
"eslint --fix",
"git add"
]
}
}