基于Husky的代码检查工作流通常涉及以下几个关键步骤,以确保在Git提交或推送时自动执行代码检查和格式化。以下是一个清晰的工作流步骤:
1. 环境准备
- 安装Git:确保你的开发环境中已经安装了Git。
- 安装Node.js:Husky通常与Node.js项目一起使用,确保安装了符合Husky要求的Node.js版本(例如v18+)。
- 选择包管理器:你可以选择使用npm、yarn或pnpm等包管理器来安装和管理Husky。
2. 安装Husky和Lint-staged
- 使用选定的包管理器在项目根目录下运行安装命令。例如,使用pnpm,你可以运行
pnpm add -D husky lint-staged
。
3. 初始化Husky
- 运行初始化命令来配置Husky。对于npm,使用
npx husky init
;对于pnpm,使用pnpm dlx husky-init
。 - 这个过程将在项目根目录下创建
.husky
文件夹,并生成一些默认的钩子脚本。
4. 配置Husky和Lint-staged
-
修改
.husky/pre-commit
文件:打开这个文件,并修改其中的命令以在提交前运行Lint-staged。例如,将npm test
替换为pnpm lint-staged
。 -
配置Lint-staged:在
package.json
中添加Lint-staged的配置。指定要在暂存的文件上运行的Lint工具(如ESLint、Stylelint等)以及它们的参数。例如:
"lint-staged": { | |
"*.{js,ts,vue}": [ | |
"eslint --fix" | |
], | |
"*.{css,scss}": [ | |
"stylelint --fix" | |
] | |
} |
5. 结合其他工具(可选)
- 结合commitlint:你可以使用commitlint来检查commit message的格式。在
.husky/commit-msg
文件中添加commitlint的调用命令,或者在.husky
目录下新建一个commit-msg
文件并添加相应的命令。
6. 提交代码
- 现在,当你尝试提交代码时,Husky将触发
pre-commit
钩子,该钩子将运行Lint-staged来检查并(如果可能)修复暂存的文件中的代码问题。 - 如果Lint-staged报告了错误,你需要修复这些问题,然后重新暂存并尝试提交。
7. 推送代码
- 一旦代码通过了本地检查,你就可以将其推送到远程仓库了。
注意事项
- 确保你的团队成员都遵循相同的代码检查工作流,以避免在合并代码时出现问题。
- 定期检查并更新你的Lint工具和规则,以确保它们与最新的编码标准和最佳实践保持一致。
- 在配置Husky和Lint-staged时,注意它们与你的项目依赖和Node.js版本之间的兼容性。