1杖狼、什么是Webpack
WebPack可以看做是模塊打包機(jī):它做的事情是茂缚,分析你的項(xiàng)目結(jié)構(gòu)帮寻,找到JavaScript模塊以及其它的一些瀏覽器不能直接運(yùn)行的拓展語言(Scss弥鹦,TypeScript等)向抢,并將其打包為合適的格式以供瀏覽器使用迄本。
2硕淑、為什要使用WebPack
今的很多網(wǎng)頁(yè)其實(shí)可以看做是功能豐富的應(yīng)用,它們擁有著復(fù)雜的JavaScript代碼和一大堆依賴包嘉赎。為了簡(jiǎn)化開發(fā)的復(fù)雜度置媳,前端社區(qū)涌現(xiàn)出了很多好的實(shí)踐方法
a:模塊化,讓我們可以把復(fù)雜的程序細(xì)化為小的文件;
b:類似于TypeScript這種在JavaScript基礎(chǔ)上拓展的開發(fā)語言:使我們能夠?qū)崿F(xiàn)目前版本的JavaScript不能直接使用的特性公条,并且之后還能能裝換為JavaScript文件使瀏覽器可以識(shí)別拇囊;
c:scss,less等CSS預(yù)處理器
.........
這些改進(jìn)確實(shí)大大的提高了我們的開發(fā)效率靶橱,但是利用它們開發(fā)的文件往往需要進(jìn)行額外的處理才能讓瀏覽器識(shí)別,而手動(dòng)處理又是非常反鎖的寥袭,這就為WebPack類的工具的出現(xiàn)提供了需求。
3关霸、WebPack和Grunt以及Gulp相比有什么特性
其實(shí)Webpack和另外兩個(gè)并沒有太多的可比性传黄,Gulp/Grunt是一種能夠優(yōu)化前端的開發(fā)流程的工具,而WebPack是一種模塊化的解決方案队寇,不過Webpack的優(yōu)點(diǎn)使得Webpack可以替代Gulp/Grunt類的工具膘掰。
Grunt和Gulp的工作方式是:在一個(gè)配置文件中,指明對(duì)某些文件進(jìn)行類似編譯佳遣,組合识埋,壓縮等任務(wù)的具體步驟凡伊,這個(gè)工具之后可以自動(dòng)替你完成這些任務(wù)。
Webpack的工作方式是:把你的項(xiàng)目當(dāng)做一個(gè)整體惭聂,通過一個(gè)給定的主文件(如:index.js)窗声,Webpack將從這個(gè)文件開始找到你的項(xiàng)目的所有依賴文件,使用loaders處理它們辜纲,最后打包為一個(gè)瀏覽器可識(shí)別的JavaScript文件笨觅。
優(yōu)點(diǎn):模塊化
在webpack看來一切都是模塊!這就是它不可不說的優(yōu)點(diǎn)耕腾,包括你的JavaScript代碼见剩,也包括CSS和fonts以及圖片等等等,只有通過合適的loaders扫俺,它們都可以被當(dāng)做模塊被處理苍苞。