說(shuō)明
項(xiàng)目要使用git進(jìn)行代碼提交時(shí),使用叫pre-commit的git鉤子津函,在調(diào)用git commit 命令時(shí)自動(dòng)執(zhí)行某些腳本檢測(cè)代碼肖粮,若檢測(cè)出錯(cuò),則阻止commit代碼尔苦,也就無(wú)法push涩馆,保證了出錯(cuò)代碼只在我們本地,不會(huì)把問(wèn)題提交到遠(yuǎn)程倉(cāng)庫(kù)
安裝
【1】安裝husky
npm i husky -save-dev
【2】安裝list-staged
npm i lint-staged husky -save-dev
package.json文件
安裝好之后允坚,會(huì)自動(dòng)在項(xiàng)目.git目錄生成一個(gè)hock魂那,這個(gè)hock會(huì)讀取package.json中的內(nèi)容
"husky": {
"hooks": {
"pre-commit": "npm run lint-staged"
}
},
"lint-staged": {
"**/*.js": "eslint --ext .js",
"**/*.vue": "eslint --ext .vue"
}
測(cè)試
首先,故意觸犯eslint報(bào)錯(cuò)
再執(zhí)行g(shù)it commit提交代碼
上面代碼提交失敗說(shuō)明配置成功生效稠项,每次執(zhí)行g(shù)it commit命令涯雅,都會(huì)自動(dòng)調(diào)用package.json中的precommit命令,在本項(xiàng)目中precommit命令就會(huì)執(zhí)行eslint的代碼校驗(yàn)展运,若校驗(yàn)失敗活逆,則無(wú)法將代碼commit,避免不規(guī)范代碼提交到遠(yuǎn)程倉(cāng)庫(kù)拗胜,特別是在多人協(xié)作中能夠強(qiáng)制規(guī)范代碼
文章每周持續(xù)更新蔗候,可以微信搜索「 前端大集錦 」第一時(shí)間閱讀,回復(fù)【視頻】【書(shū)籍】領(lǐng)取200G視頻資料和30本PDF書(shū)籍資料