|
做為開(kāi)發(fā)人員,每個(gè)人寫(xiě)代碼都會(huì)出現(xiàn)BUG,但要防止低級(jí)的BUG出現(xiàn)就要對(duì)代碼進(jìn)行質(zhì)量檢查,所以當(dāng)代碼進(jìn)行提交時(shí)對(duì)代碼進(jìn)行檢查非常有必要,而且能統(tǒng)一代碼的規(guī)范性。 而我們開(kāi)發(fā)時(shí),進(jìn)行代碼提交用得最多就是SVN與Git倉(cāng)庫(kù)來(lái)管理,而現(xiàn)在我是用git來(lái)進(jìn)行代碼管理的,所以現(xiàn)介紹一下用git如何進(jìn)行代碼檢查; 首先安裝Git(網(wǎng)上很多,不講多),安裝jsHint來(lái)進(jìn)行檢查,這里我是用nodeJS來(lái)進(jìn)行安裝。 安裝命令:npm i jshint -g, 然后打開(kāi)git的pre-commit鉤子,位置在yourProject/.git/hooks 添加shell腳本在pre-commit添加shell腳本:
OK,完成,現(xiàn)在執(zhí)行g(shù)it commit就能檢查要提交的js代碼是否通過(guò)。 不會(huì)shell腳本作為一個(gè)前端人員(我就是),可能對(duì)shell腳本編寫(xiě)不太熟,能否不通過(guò)編寫(xiě)shell實(shí)現(xiàn)呢? 那就用npm上的插件pre-commit來(lái)實(shí)現(xiàn), 安裝命令:npm i pre-commit --save 然后新建一個(gè)package.json,添加pre-commit參數(shù): ok,添加完批,執(zhí)行g(shù)it commit,被坑了..... 由于windows是不支持 *.js的寫(xiě)法,直接就報(bào)錯(cuò)Can't open file * .js,代碼又提交成功,這不是我們想要的效果; 如果要檢查就只能用(.)或者指定目錄(static/mobile),就會(huì)檢查所有的文件或者指定目錄的js文件,但問(wèn)題又來(lái)了,這樣檢查就全局檢查了,我們的目的只檢查提交的更改代碼;廢話不說(shuō),來(lái)寫(xiě)插件吧。 先安裝jshint在工程,可以給插件調(diào)用; 安裝命令:npm i jshint --save; 命名為check.js: check.js代碼:
OK,當(dāng)執(zhí)行g(shù)it commit就可以執(zhí)行check.js的代碼,先獲取差異文件,再把錯(cuò)誤信息輸出,如果有錯(cuò)直接結(jié)束進(jìn)程; 對(duì)于不懂shell腳本的前端同學(xué),就很好的擴(kuò)展這個(gè)check.js文件,也可以過(guò)濾個(gè)別的js文件。 |
|
|
來(lái)自: bananarlily > 《IT》