NodePackageImporter
階層
- NodePackageImporter
索引
建構函式
屬性
建構函式
constructor
- new
Node (entryPointDirectory?: string): NodePackageImporterPackage Importer -
NodePackageImporter 有一個可選的
entryPointDirectory選項,這是 Node Package Importer 在解析磁碟檔案以外來源中的pkg:URL 時應該開始的目錄。這將在Node 模組解析演算法中被用作parentURL。為了能被 Node Package Importer 找到,套件需要位於
entryPointDirectory或其父目錄(直到檔案系統根目錄)中的 node_modules 資料夾內。相對路徑將會相對於目前工作目錄解析。如果未提供路徑,則預設為 Node.js 進入點的父目錄。如果該目錄不存在,則會拋出錯誤。
參數
-
選用entryPointDirectory: string
回傳 NodePackageImporter
-
屬性
私有 唯讀 [nodePackageImporterKey]
[nodePackageImporterKey] : true
用於將此類型與任何任意物件區分開來。
內建的 Node.js 套件匯入器。它會根據標準的 Node.js 解析演算法從 node_modules 載入 pkg: URL。
Node.js 套件匯入器會以一個類別的形式公開,可以新增到
importers選項中。撰寫 Sass 套件
套件作者可以透過他們的
package.json資訊清單來控制要公開給使用者哪些內容。建議的方法是在package.json中加入sass條件式匯出。這讓套件使用者可以撰寫
@use "pkg:uicomponents"來載入node_modules/uicomponents/src/scss/index.scss的檔案。Node.js 套件匯入器支援 Node.js 套件進入點支援的各種格式,允許作者公開多個子路徑。
這讓套件使用者可以撰寫
@use "pkg:uicomponents";來匯入根匯出。@use "pkg:uicomponents/colors";來匯入 colors 部分。@use "pkg:uicomponents/theme/purple";來匯入 purple 主題。請注意,雖然程式庫使用者可以依靠匯入器來解析部分檔案、索引檔案和副檔名,但程式庫作者必須在
exports中指定完整的檔案路徑。除了
sass條件之外,style條件也可以接受。如果檔案類型相關,Sass 將會比對default條件,但不建議作者依賴這個條件。值得注意的是,鍵的順序很重要,匯入器會解析到第一個鍵值為sass、style或default的值,因此您應該始終將default放在最後。為了協助尚未透過
exports欄位轉換到套件進入點的套件作者,Node.js 套件導入器提供了幾個後備選項。如果pkg:URL 沒有子路徑,Node.js 套件導入器會在package.json的根目錄尋找sass或style鍵值。這允許使用者撰寫
@use "pkg:uicomponents";來導入index.scss檔案。最後,Node.js 套件導入器會在套件根目錄尋找
index檔案,解析 partial 檔案和副檔名。例如,如果uicomponents套件的根目錄存在_index.scss檔案,使用者可以使用@use "pkg:uicomponents";來導入該檔案。如果
pkg:URL 包含套件進入點中沒有相符項目的子路徑,Node.js 導入器會嘗試在套件根目錄相對位置尋找該檔案,解析檔案副檔名、partial 檔案和 index 檔案。例如,如果uicomponents套件中存在src/sass/_colors.scss檔案,使用者可以使用@use "pkg:uicomponents/src/sass/colors";來導入該檔案。