webpack學習之路之webpack核心概念

2021-09-11 13:30:55 字數 1279 閱讀 7146

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...