使用场景
为了保证代码语法以及格式的一致性,开发人员在本地提交代码的时候需要先进行eslint --fix操作; 所以使用了pre-commit将这一个流程自动化了;
同时调研了了husky和pre-commit这两个工具,区别就是husy的功能更强大,但是pre-commit更轻量级,而后者更符合当时的场景。
使用
1、如果之前未安装过pre-commit或者husky的可以跳过这步
首先需要检查当前项目下的 .git/hooks中是否已存在pre-commit文件如果有 需要删除
需要确保文件夹中关于 pre-commit的文件只有下面图片中的这一个
2、安装pre-commit
yarn add pre-commit -D
#npm i pre-commit -D
安装完成之后会在项目中的 .git/hooks 中会多出一个pre-commit和pre=commit.old文件
3、配置
在packge.json中配置:
{
"scripts": {
"lint": "next lint --fix && git add . && next lint"
},
"pre-commit": "lint",
}
ps: lint中的命令根据自己项目自行修改,本项目是next13 所以需要使用 next lint --fix; pre-commit就是在commit前会触发该命令,如果要执行多个script,或者其他配置可参考官方文档 pre-commit(npm)