git
作为目前最流行的版本管理工具,代码的良好规范有助于项目的维护,我们可以在执行一些git
钩子之前检测代码的规范性。目前,前端主流的两大钩子插件分别是pre-commit
和husky
。首先,我将介绍git
钩子,然后介绍两种钩子插件的使用。
1、git
钩子
我们在使用git
管理代码时经常会用到git commit、git push、git rebase
等等,这些命令都是管理代码过程中的某种状态,也就是钩子。我们可以在./git/hooks
目录中查看钩子列表。
cd ./git/hooks
ls -l
2、pre-commit
安装
npm i -D pre-commit
在package.json
中配置使用,pre-commit
配置非常灵活
{
"name": "demo7",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"eslint": "eslint src"
},
"pre-commit": [
"eslint"
],
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"eslint": "^6.6.0",
"pre-commit": "^1.2.2"
}
}
当执行git commit
时将会自动检测代码规范
详情参考:
https://www.npmjs.com/package/pre-commit
3、husky
安装
npm i -D husky
配置
{
"name": "demo7",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"eslint": "eslint --ext .js src"
},
"husky": {
"hooks": {
"pre-commit": "npm run eslint" // 这里要使用npm run
}
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"eslint": "^6.6.0",
"husky": "^3.0.9",
"pre-commit": "^1.2.2"
}
}
执行git commit
结果:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。