webpack 相關概念梳理

資源(Asset):用於圖片,字體,媒體,其他類型的文件等。這些文件通常在output中輸出爲單個文件。
bundle: 由多個不同的模塊生成,bundle包含了加載和編譯過後的最終源文件版本。
bundle分離(Bundle Splitting):優化構建的方法。允許webpack爲應用程序生成多個bundle。當其他某些bundle
改動時,彼此獨立的另一些bundle不受影響。減少需要重新發布的代碼量。

Chunk:這是 webpack 特定的術語被用在內部來管理 building 過程。bundle 由 chunk 組成,
其中有幾種類型(例如,入口 chunk(entry chunk) 和子 chunk(child chunk))。通常 chunk 會直接對應所輸出的 bundle,但是有一些配置並不會產生一對一的關係。

Code Splitting(代碼分離):指將代碼分離到每個 bundles/chunks 裏面,你可以按需加載,而不是加載一個包含全部的 bundle

模塊熱替換(Hot Module Replacement(HMR)):  一個修改、添加或刪除模塊(modules)的過程,而正在運行中的應用程序無需重載加載整個頁面。

Loaders:loader 允許你在 require() 或“加載”的文件之前,先預處理文件。就像“任務執行器(task-runner)”

模塊(Modules):提供比完整程序接觸面(surface area)更小的離散功能塊。精心編寫的模塊提供了可靠的抽象和封裝界限,
使得應用程序中每個模塊都具有條理清楚的設計和明確的目的。

模塊解析(Module Resolution):一個模塊可以作爲另一個模塊的依賴模塊,resolver 是一個庫( library )用於幫助找到模塊的絕對路徑... 模塊將在 resolve.modules 中指定的所有目錄內搜索。

Request:指 require/import 語句中的表達式,例如,在 require("./template/" + name + ".ejs") 中,request 指的是 "./template/" + name + ".ejs"。


模式(mode):提供mode配置選項,告知webpack使用相應模式的內置優化.
mode:development。會將process.env.NODE_ENV設爲development。啓用NamedChunksPlugin 和 NamedModulesPlugin。
mode:production。
會將 process.env.NODE_ENV 的值設爲 production。啓用 FlagDependencyUsagePlugin, FlagIncludedChunksPlugin, ModuleConcatenationPlugin, NoEmitOnErrorsPlugin, OccurrenceOrderPlugin, SideEffectsFlagPlugin 和 UglifyJsPlugin.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章