webpack打包原理是根據(jù)文件間的依賴關(guān)系對(duì)其進(jìn)行靜態(tài)分析,將這些模塊按指定規(guī)則生成靜態(tài)資源,當(dāng) webpack處理程序時(shí),它會(huì)遞歸地構(gòu)建一個(gè)依賴關(guān)系圖,其中包含應(yīng)用程序需要的每個(gè)模塊,將所有這些模塊打包成一個(gè)或多個(gè)bundle。
本文操作環(huán)境:Windows7系統(tǒng),Dell G3電腦。
webpack打包原理是根據(jù)文件間的依賴關(guān)系對(duì)其進(jìn)行靜態(tài)分析,然后將這些模塊按指定規(guī)則生成靜態(tài)資源,當(dāng) webpack 處理程序時(shí),它會(huì)遞歸地構(gòu)建一個(gè)依賴關(guān)系圖(dependency graph),其中包含應(yīng)用程序需要的每個(gè)模塊,然后將所有這些模塊打包成一個(gè)或多個(gè) bundle。
webpack有兩種組織模塊的依賴方式,同步、異步。異步依賴將作為分割點(diǎn),形成一個(gè)新的塊;在優(yōu)化了依賴樹(shù)之后,每一個(gè)異步區(qū)塊都將作為一個(gè)文件被打包。
webpack有一個(gè)智能解析器,幾乎可以處理任何第三方庫(kù)。無(wú)論它們的模塊形式是CommonJS、AMD還是普通的JS文件;甚至在加載依賴的時(shí)候,允許使用動(dòng)態(tài)表require("、/templates/"+name+"、jade")。
擴(kuò)展資料
在使用webpack構(gòu)建的典型應(yīng)用程序或站點(diǎn)中,有三種主要的代碼類型:
1、團(tuán)隊(duì)編寫的源碼。
2、源碼會(huì)依賴的任何第三方的library或"vendor"代碼。
3、webpack的runtime和manifest,管理所有模塊的交互。
runtime 包含:在模塊交互時(shí),連接模塊所需的加載和解析邏輯;包括瀏覽器中的已加載模塊的連接,以及懶加載模塊的執(zhí)行邏輯。
想了解