webpack相關文件
webpack官網
webpack中文官網
webpack github位址
webpack 版本差異及修復bug
webpack 主要4個核心概念
1) entry
entry是某一段**的入口,這段**入口會告訴webpack 裡面有哪些模組的依賴。
entry也是打包的入口,告訴webpack,我去哪個檔案開始找依賴,然後再去找這些檔案依賴的依賴。
entry可以是單個或多個,為什麼 會出現多個入口的情況呢?多個入口可能情況:
舉粟:
上圖 module.exports是commonjs的寫法,module.exports是乙個物件,這個物件是webpack的配置,裡面有乙個屬性entry,值為index.js,它是乙個檔名,其實也可以是乙個路徑。entry除了是乙個路徑還可以是乙個陣列:
那陣列表示什麼意思呢?
人上面我們知道webpack可以多個入口,所以陣列表示它要建立多個入口。除了這種寫法,還有以下的寫法:
就是key-value的形式,這種寫法是推薦寫法,因為 如果用以上兩種寫法,其實我們並不完全知道webpack在打包過程中這兩個叫什麼,也沒辦法去識別它,而用key-value形式,我們看到每個entry都有乙個key的,如果上圖index.js的key就是index,這個key表示獨特的chunk,就是乙個**塊意思。所以當我們是乙個物件的時候有什麼好處?
如果我們還想新增乙個入口,可以按上圖這麼做,我們在指定乙個key就好了,以此類推,這樣我們就很清楚的知道,每個檔案對應的key。
2) output (表示輸出的檔案)
上圖,我們有乙個entry為index.js,這時候是單個輸入配合單個輸出,所以我們只要在output中的filename指定輸出的名字就可以了,這是單個的情況。
上圖,當我們entry為兩個的時候,entry裡index對應index.js,vendor對應vendor.js,那麼這時候我們output裡也要對應兩個,怎麼定義呢?
filename就是上面提到的自定義規則:
3) loaders
編譯相關
樣式相關
4) plugins
優化相關
commonschunkplugin:用來提取不同的chunk之間相同**。
功能相關
4) 名詞:
chunk: 在英文裡面是塊的意思,在webpakc中就是**塊的意思,在webpack打包 預設把這些**分為乙個乙個的**。
願你成為終身學習者
webpack學習之路(七)
本節我們將深入了解一些應用於構建 和應用的最佳實踐和工具。雖然我們對生產環境和開發環境做了略微區分,但是遵循不重複原則dry don t repeat yourself 還是保留乙個通用配置。為了整合這些配置我們需要乙個webpack merge外掛程式。有了通用配置我們就不用在特定環境的配置中重複...
webpack學習之路(五)
熱模組替換 hmr 是webpack提供的最有用的功能之一,它讓各種模組可以在執行時更新而無需重新整理,本篇主要注重於實現。ps hmr是為開發模式設計的,也只能用於開發模式。啟用hrm只需要更新webpack dev server的配置,然後使用webpack的內建外掛程式,同時要刪掉print....
webpack學習之路(三)
目前為止我們都是手動地在index.html中引入所有資源,但是一應用開始漸漸變大,在檔名中使用哈西並輸出為多個bundle的時候,專案也會變得難以管理了。因此一些外掛程式就誕生了。調整一下專案結構 project webpack demo package.json webpack.config.j...