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";
來導入該檔案。