能夠?qū)㈤_(kāi)發(fā)代碼轉(zhuǎn)換為生產(chǎn)代碼的工具稱(chēng)為構(gòu)建工具。在本文中,我們收集了你可以在前端開(kāi)發(fā)中使用的最佳構(gòu)建工具。請(qǐng)注意,所有這些工具都在命令行中運(yùn)行,因此它們不附帶圖形用戶(hù)界面。想要學(xué)習(xí)前端的小伙伴,建議參加web前端培訓(xùn),可以學(xué)到更全面系統(tǒng)的知識(shí)和技能。
1.NPM
它是Node.js的默認(rèn)包管理器。當(dāng)你在系統(tǒng)上安裝Node.js時(shí),npm也會(huì)自動(dòng)安裝,你可以從命令行界面訪(fǎng)問(wèn)它。使用npm,你可以使用單個(gè)命令安裝任何Node.js包。
2.Yarn
Yarn是一種前端包裝管理器,可作為npm的替代品。由于Yarn本身是一個(gè)Node.js包,所以在系統(tǒng)上使用Yarn之前,必須先安裝Node.js。然后,你只需要按照安裝指南來(lái)使用它來(lái)管理前端依賴(lài)項(xiàng)。
Yarn通過(guò)緩存每個(gè)包來(lái)加快構(gòu)建過(guò)程,這樣你就不必多次下載依賴(lài)項(xiàng)。它還運(yùn)行并行操作,以進(jìn)一步縮短構(gòu)建時(shí)間。在web前端培訓(xùn)學(xué)習(xí)中,有一些實(shí)操項(xiàng)目的訓(xùn)練,可以幫助你將學(xué)到的理論知識(shí)應(yīng)用到實(shí)踐中去,真正掌握前端工具的使用。
3.Grunt
Grunt是一個(gè)前端任務(wù)運(yùn)行程序,可以自動(dòng)執(zhí)行重復(fù)任務(wù),如縮小、鏈接、測(cè)試和其他任務(wù)。僅當(dāng)你在每個(gè)構(gòu)建過(guò)程中執(zhí)行相同的任務(wù)時(shí),才需要它們。
由于Grunt是一個(gè)Node.js包,因此可以使用npm、Yarn或其他Node.js包管理器安裝它。Grunt將執(zhí)行預(yù)定義任務(wù)所需的自定義依賴(lài)項(xiàng)保存在package.json文件中。你可以在GrunFile中定義任務(wù),該文件在每個(gè)構(gòu)建過(guò)程中運(yùn)行,并自動(dòng)執(zhí)行其中包含的每個(gè)任務(wù)。
4.GUP
Gulp是另一個(gè)自動(dòng)化任務(wù)執(zhí)行器,也是Grunt最強(qiáng)大的競(jìng)爭(zhēng)對(duì)手。與Grunt最大的區(qū)別在于Gulp使用了一種更高效的自動(dòng)化技術(shù),可以加快構(gòu)建時(shí)間。當(dāng)Grunt使用臨時(shí)文件來(lái)處理任務(wù)時(shí),Gulp執(zhí)行內(nèi)存中的操作,而不寫(xiě)入臨時(shí)文件。這些內(nèi)存中的操作稱(chēng)為節(jié)點(diǎn)流,可以為你節(jié)省大量時(shí)間,特別是當(dāng)你希望在每個(gè)構(gòu)建中處理多個(gè)任務(wù)時(shí)。web前端培訓(xùn)課程緊跟企業(yè)需求和市場(chǎng)需求,可以讓你學(xué)到最新的知識(shí)和技能,提高自身競(jìng)爭(zhēng)力。
5.Browserify
Browserify是一個(gè)Node.js模塊加載器,可以綁定前端依賴(lài)項(xiàng),并將它們作為單個(gè)Javascript文件加載到用戶(hù)瀏覽器中。使用Node.js的require()函數(shù)設(shè)計(jì)用于加載模塊的包管理器,如服務(wù)器端的npm和Yarn加載模塊。Browserify將require()方法帶到客戶(hù)端,這會(huì)帶來(lái)巨大的性能提升。
6.Webpack
Webpack是一個(gè)高級(jí)模塊綁定器,可以綁定所有依賴(lài)項(xiàng),并將它們作為靜態(tài)資產(chǎn)加載到用戶(hù)瀏覽器中。雖然Browserify只綁定Node.js模塊,但Webpack可以處理任何類(lèi)型的前端文件,如.html、.css、.js、.scss文件、圖像和其他資產(chǎn)。
由于Webpack本身也是一個(gè)Node.js模塊,你可以使用npm或Thread package manager安裝它。
前端構(gòu)建工具可幫助你將開(kāi)發(fā)代碼轉(zhuǎn)換為可在任何設(shè)備或平臺(tái)上毫無(wú)問(wèn)題地運(yùn)行的生產(chǎn)代碼。市場(chǎng)上還有(相對(duì)而言)不斷吸引眼球的新工具,向工作流中添加新工具可以將你的開(kāi)發(fā)過(guò)程提升到一個(gè)新的水平。如果你學(xué)習(xí)這些前端工具的使用,不妨報(bào)個(gè)web前端培訓(xùn)班,可以獲得快速提升。