husky其实就是哈士奇,搞笑的名字,二哈。作用就是在git执行一些操作的时候触发一些钩子,在钩子处执行一些自己需要的命令,比如代码的eslint校验等。最佳实践一般是校验两处,eslint(代码规范)及commit message规范
先安装husky:
yarn add -D husky
在项目根目录创建.huskyrc配置文件,内容如下:
{
"hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
其中pre-commit是commit的钩子,会在commit之前执行下lint-staged命令。commit-msg是提交时message的检测钩子,commit前会执行 commitlint -E HUSKY_GIT_PARAMS命令。这里面的两种命令需要安装两个npm包
一个是lint-staged:
yarn add -D lint-staged
一个是commitlint
yarn add -D @commitlint/{cli,config-conventional}
项目根目录添加lint-staged的配置文件.lintstagedrc,内容如下:
{
"*.{js,json,css,md}": [