javascript - 不是很理解webpack的模塊打包思想?
問題描述
正在通過webpack官方文檔學(xué)習(xí)webpack;開始webpack是把所有資源當(dāng)作模塊來處理,并進(jìn)行打包成bundle。看著還不錯 很吸引人。
但是看到后面我對打包這個概念表示迷惑。
看到代碼分離那里,說為了充分利用瀏覽器的并行加載和緩存機(jī)制,要把css和第三方庫文件單獨(dú)打包成一個bundle。
那結(jié)果不就是把常規(guī)的用標(biāo)簽引入資源,改成了用require的方式在js里顯示的加載了嗎?那么除了顯示的聲明了依賴以外,模塊打包的優(yōu)勢是什么?
看到代碼分離那個地方,我反而在想,既然要分開,那我為什么還要模塊打包呢?
這個模塊打包有什么好處嗎?
問題解答
回答1:比如說,分離css那里。要先require把css引入,然后用插件單獨(dú)打包成一個bundle,然后在html里用標(biāo)簽引入。
我為什么要多此一舉,打包一下?直接像常規(guī)做法那樣html里用標(biāo)簽引入不是更好嗎?
回答2:模塊化是為了寫代碼方便,打包是為了運(yùn)行代碼方便
另外webpack是可以分開打包的
回答3:如果你做SPA,或者如果你不使用scss,postcss,圖片壓縮,圖片base64自動轉(zhuǎn)換,手動插入CSS或者JS其實(shí)問題不算大。做一個vue多頁面的項(xiàng)目,可能會體會到j(luò)s或者css自動插入到html的便利之處了。
以前手動link方式引入css的時候,為了方便,我會將所有的css內(nèi)容放在同一個文件中,否則又要加link,但是所有的css在一個文件,開發(fā)其實(shí)是不方便的。有的webpack之后,我可以讓css文件盡量切分,從文件結(jié)構(gòu)上就變得清晰
webpack的關(guān)于CSS的的好處,暫時就想到這么些
相關(guān)文章:
1. 運(yùn)行python程序時出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯誤?2. android - Genymotion 模擬器可以做屏幕適配檢測嗎?3. macos - 無法source activate python274. java - butterknife怎么綁定多個view5. java - 同步/異步與阻塞/非阻塞之間的差異具體是什么?6. css3 讓圖片變成灰色(filter),但針對IE11瀏覽器無效7. html - vue里面:src在IE(9-11)下不顯示圖片8. html5 - 前端面試碰到了一個緩存數(shù)據(jù)的問題,來論壇上請教一下9. javascript - 打算寫一個c++的node圖像處理模塊,有沒有推薦的c++圖片處理庫?10. html5 - 在HBuilder中打包Android的apk包出錯,不知道是什么原因。

網(wǎng)公網(wǎng)安備