以下是一些 Rspack 和 webpack 中常用的術語。
資源是應用程式中使用的資源,例如圖片、字型、影片等。它們通常會成為輸出目錄中的檔案,可能需要進一步處理,例如轉換為 base64 字串並內嵌到輸出捆綁包中。
「資源模組」是一種特殊的模組類型,用於處理靜態資源,例如圖片、字型、影片等。
在歷史上,打包器產生一個稱為「捆綁包」的單個輸出檔案。區塊的概念後來作為一項功能的一部分引入,用於自動將捆綁包分解為較小的檔案,這些檔案可以按需載入。
捆綁包拆分是一種技術,可讓您將程式碼拆分或合併到多個捆綁包中,這對於並行請求和更好的瀏覽器快取很有用,它不適用於減少初始捆綁包大小。
在打包術語中,區塊是一組模組,它們被組合成單個資料檔案。Rspack 會將彼此相關的模組捆綁到一個區塊中,然後產生相應的檔案。
區塊圖是一種表示區塊之間關係的資料結構。它是一個有向圖,圖中的每個節點代表一個區塊,每條邊代表區塊之間的依賴關係。
程式碼拆分是一種技術,可讓您將程式碼拆分為多個區塊,並且僅在應用程式執行時載入必要的區塊。這可以幫助您減少初始捆綁包的大小並加快應用程式載入時間。
在 Rspack 中,第一級模組類型是指可以在不依賴載入器或外掛的情況下支援的模組類型,例如 JavaScript、CSS、JSON、資源等。但是,需要載入器或外掛才能支援的模組類型,例如 TypeScript、HTML、Markdown、YAML 等,並非第一級模組。
在打包術語中,載入器就像一個外掛,但專門負責轉換模組內容。例如,我們可以使用載入器將 TypeScript 模組轉換為 JavaScript 模組,或將 CSS 模組轉換為將 CSS 注入頁面的 JavaScript 模組。
應用程式可以拆分為多個稱為模組的檔案,這些檔案可能是 JavaScript 原始檔案或其他資源,例如圖片或 CSS。這些檔案可以透過匯入和匯出共享和重複使用模組內容,這有助於將程式碼組織成獨立的部分,並定義它們之間通訊的正式介面。
模組的類型決定了打包器將如何解析和處理它。例如,我們可以透過將模組類型指定為 JavaScript 來告訴 Rspack 該模組是一個 JavaScript 模組,Rspack 將使用 JavaScript 解析器來解析該模組。如果指定的模組類型是 CSS,那麼 Rspack 將使用 CSS 解析器來解析該模組。
模組解析是計算模組指定符所指示的檔案路徑的過程。例如,匯入語句包含模組指定符,Rspack 將使用模組解析演算法來尋找對應的檔案路徑。
模組圖是一種圖形資料結構,表示模組之間的關係。它是一個有向圖,圖中的每個節點代表一個模組,每條邊代表模組之間的依賴關係。
NAPI-RS 是一個用於在 Rust 中建構預編譯 Node.js 附加元件的框架。它透過提供 Node-API 的高階抽象,簡化了建立和發布原生 Node.js 附加元件的過程。
外掛是一個程式模組,可以用於透過可擴展性掛鉤來擴展 Rspack 的功能。它可用於自訂建置過程,或與其他工具整合。Rspack 提供了許多掛鉤,您可以使用這些掛鉤來自訂建置過程。
範圍提升是一種技術,可以盡可能將模組串聯到單個範圍中,而不是將每個模組包裝在單獨的函式中。它可以透過降低模組查詢成本來提高最小化的效率並改善執行時效能。
搖樹是一種技術,可讓您從捆綁包中移除未使用的程式碼。它是一種編譯器死碼消除形式,重點是盡量減少對死碼的處理。像 Rspack 這樣的編譯器將透過分析程式碼的靜態結構,然後移除未使用的程式碼來實現此目的。