久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>淺析webpack的原理(的運行機制和核心工作原理)

淺析webpack的原理(的運行機制和核心工作原理)

發布時間:2024-01-24閱讀(14)

導讀我們來解讀一下Webpack的運行機制和核心工作原理。其實Webpack官網首屏的英雄區就已經很清楚地描述了它的工作原理,如下圖所示:我們以一個普通的前端項....

我們來解讀一下 Webpack 的運行機制和核心工作原理。

其實 Webpack 官網首屏的英雄區就已經很清楚地描述了它的工作原理,如下圖所示:

淺析webpack的原理(的運行機制和核心工作原理)(1)

我們以一個普通的前端項目為例,項目中一般都會散落著各種各樣的代碼及資源文件,如下圖所示:

淺析webpack的原理(的運行機制和核心工作原理)(2)

比如 JS、CSS、圖片、字體等,這些文件在 Webpack 的思想中都屬于當前項目中的一個模塊。Webpack 可以通過打包,將它們最終聚集到一起。

Webpack 在整個打包的過程中:

  • 通過 Loader 處理特殊類型資源的加載,例如加載樣式、圖片;
  • 通過 Plugin 實現各種自動化的構建任務,例如自動壓縮、自動發布。

具體來看打包的過程。

Webpack 啟動后,會根據我們的配置,找到項目中的某個指定文件(一般這個文件都會是一個 JS 文件)作為入口。

然后順著入口文件中的代碼,根據代碼中出現的 import(ES Modules)或者是 require(CommonJS)之類的語句,解析推斷出來這個文件所依賴的資源模塊。

接著再分別去解析每個資源模塊的依賴,周而復始,最后形成整個項目中所有用到的文件之間的依賴關系樹。下面這個動畫生動的演示了這個過程:

淺析webpack的原理(的運行機制和核心工作原理)(3)

有了這個依賴關系樹過后,Webpack 會遍歷(遞歸)這個依賴樹,找到每個節點對應的資源文件。

然后根據配置選項中的 Loader 配置,交給對應的 Loader 去加載這個模塊。

最后將加載的結果放入 bundle.js(打包結果)中,從而實現整個項目的打包。

具體操作可以參考下面的動畫:

淺析webpack的原理(的運行機制和核心工作原理)(4)

對于依賴模塊中無法通過 JavaScript 代碼表示的資源模塊,例如圖片或字體文件,一般的 Loader 會將它們單獨作為資源文件拷貝到輸出目錄中,然后將這個資源文件所對應的訪問路徑作為這個模塊的導出成員暴露給外部。

整個打包過程中,Loader 機制起了很重要的作用。因為如果沒有 Loader 的話,Webpack 就無法實現各種各樣類型的資源文件加載,那 Webpack 也就只能算是一個用來合并 JS 模塊代碼的工具了。

至此,你就已經了解到了 Webpack 的核心工作過程。

至于插件機制,只是 Webpack 為了提供一個強大的擴展能力,它為整個工作過程的每個環節都預制了一個鉤子,它并不會影響 Webpack 的核心工作過程,也就是說我們可以通過插件往 Webpack 工作過程的任意環節植入一些自定義的任務,從而擴展 Webpack 打包功能以外的能力。

TAGS標簽:  淺析  webpack  原理  運行機制  核心  淺析webpack的

歡迎分享轉載→http://www.avcorse.com/read-221835.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖