此索引列出 webpack 生態系統中常見的術語。
A
B
- 套件:由許多不同的模組產生,套件包含已經經過載入和編譯程序的原始檔案的最終版本。
- 套件分割:此程序提供了一種最佳化建置的方法,讓 webpack 能為單一應用程式產生多個套件。因此,每個套件都可以從影響其他套件的變更中分離出來,減少需要重新發布的程式碼數量,因此可以由客戶端重新下載並利用瀏覽器快取。
C
- 區塊:此 webpack 專屬術語在內部用於管理套件處理程序。套件由區塊組成,區塊有數種類型(例如入口和子項)。通常,區塊直接對應到輸出套件,但有些組態不會產生一對一的關係。
- 程式碼分割:是指將您的程式碼分成各種套件/區塊,然後您可以依需求載入,而不是載入包含所有內容的單一套件。
- 組態:webpack 組態檔案是一個純粹的 JavaScript 檔案,用於匯出物件。此物件會根據其定義的屬性由 webpack 處理。
D
- 相依圖:每當一個檔案依賴於另一個檔案時,webpack 會將此視為一個相依性。webpack 會從一個或多個進入點開始,遞迴建立一個相依圖,其中包含應用程式所需的所有模組/資產。
E
- 進入點:進入點會告訴 webpack 從哪裡開始,並遵循相依圖來了解要打包什麼。你可以將應用程式的進入點視為你要打包內容的內容根目錄。
H
L
- 載入器:應用於模組原始碼的轉換。它們允許你在
require()
或「載入」檔案時預先處理檔案。類似於「任務執行器」。 - 延遲載入:一個延遲載入應用程式部分 (區塊) 的程序。換句話說,只在真正需要時才載入它們。
M
- 模組:功能的離散區塊,提供的表面積比完整程式小。寫得好的模組提供穩固的抽象和封裝邊界,構成一個連貫的設計和明確的目的。
- 模組解析:一個模組可以作為另一個模組的相依性來要求,而解析器是一個透過絕對路徑來協助找出模組的函式庫。模組會在
resolve.modules
中指定的所有目錄中搜尋。 - 清單:執行時期會使用它來解析和載入模組,一旦它們已打包並傳送到瀏覽器。
O
- 輸出:選項指定要將編譯檔案輸出到磁碟的哪個位置。
請注意,雖然可以有多個進入點,但只會指定一個輸出組態。
P
- 外掛:具有
apply
屬性的 JavaScript 物件。此 apply
屬性由 webpack 編譯器呼叫,提供存取整個編譯生命週期的權限。這些套件通常會以某種方式擴充編譯功能。
R
- 要求:指 require/import 陳述式中的表達式,例如 require("./template/" + name + ".ejs"),要求為 "./template/" + name + ".ejs"。
S
- 包覆:並非所有 JS 檔案都可以直接與 webpack 一起使用。檔案可能是以不受支援的模組格式,甚至不是任何模組格式。這時
包覆
就派上用場了。
T
- 目標:使用者組態的部署目標 在此列出,用於編譯特定環境,例如瀏覽器、NodeJS 或 Electron。
- 樹狀搖晃:未使用的/多餘程式碼消除,或更精確地說,是即時程式碼匯入。webpack 等編譯器會透過分析各種
import
陳述式和匯入程式碼的用法來達成此目的,以確定實際上使用了哪些依賴項的部分,並捨棄「樹」中未使用的部分。
V
- 供應商進入點:從
app.js
和 vendors.js
開始建立依賴圖表。這些圖表完全分離且彼此獨立,可利用 CommonsChunkPlugin
,並從應用程式套件中萃取任何供應商參考到供應商套件中。有助於達成 webpack 中稱為 長期供應商快取 的常見模式。
W
- webpack:一個高度可配置的 模組套件組建器,適用於現代 JavaScript 應用程式。