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
結果: