NodePackageImporter
階層
- NodePackageImporter
インデックス
コンストラクター
プロパティ
コンストラクター
コンストラクター
- new
Node (entryPointDirectory?: string): NodePackageImporterPackage Importer -
NodePackageImporter には、オプションの
entryPointDirectory
オプションがあります。これは、ディスク上のファイル以外のソースでpkg:
URL を解決するときに、Node Package Importer が開始するディレクトリです。これは、Node モジュール解決アルゴリズムでparentURL
として使用されます。Node Package Importer で検出されるためには、パッケージは
entryPointDirectory
内、またはファイルシステムのルートまでのその親ディレクトリの 1 つにある 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";
。@use "pkg:uicomponents/theme/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
ファイルを探し、パーシャルと拡張機能を解決します。たとえば、ファイル_index.scss
がuicomponents
のパッケージルートに存在する場合、ユーザーは@use "pkg:uicomponents";
でインポートできます。pkg:
URL にパッケージエントリポイントに一致するサブパスが含まれていない場合、Node.js インポータは、ファイル拡張子、パーシャル、およびインデックスファイルを解決しながら、パッケージルートを基準にしてそのファイルを見つけようとします。たとえば、ファイルsrc/sass/_colors.scss
がuicomponents
パッケージに存在する場合、ユーザーは@use "pkg:uicomponents/src/sass/colors";
を使用してそのファイルをインポートできます。