FileImporter<sync>

ディスク上の既存のファイルへのすべてのロードをリダイレクトする特別なタイプのインポーター。 これは完全なImporterよりも機能が劣りますが、パーシャルやファイル拡張子の解決、ディスクからのファイルのロードなどのSass機能が自動的に処理されます。

すべてのインポーターと同様に、これは@use規則および@import規則のカスタムSassロードロジックを実装します。 これは、importersまたはimporterに渡すことができます。

const {pathToFileURL} = require('url');

sass.compile('style.scss', {
importers: [{
// An importer that redirects relative URLs starting with "~" to
// `node_modules`.
findFileUrl(url) {
if (!url.startsWith('~')) return null;
return new URL(url.substring(1), pathToFileURL('node_modules'));
}
}]
});

型パラメータ

階層

  • FileImporter

メソッド

メソッド

  • ロード(@use@importなど)をディスク上のファイルに部分的に解決するために呼び出されるコールバック。

    Importerとは異なり、コンパイラーはFileImporterの相対ロードを自動的に処理します。ロードの解決方法の詳細については、importersを参照してください。

    スロー

    any - このインポーターがurlを認識したが、それが無効であると判断した場合、Sassによってラップされる例外をスローすることがあります。例外オブジェクトにmessageプロパティがある場合は、ラップされた例外のメッセージとして使用されます。そうでない場合は、例外オブジェクトのtoString()が使用されます。これは、インポーターがプレーン 文字列をスローしても安全であることを意味します。

    パラメータ

    • url: string

      ロードされたURL。これは相対的な可能性があるため、URL オブジェクトではなく文字列として表されます。

    • context: CanonicalizeContext

    戻り値 PromiseOr<null | URL, sync>

    このインポーターがurlを認識する場合の絶対file:URL。これは部分的にのみ解決される場合があります。コンパイラーは、返されたURLに基づいて、パーシャルインデックスファイル、およびファイル拡張子を自動的に検索します。インポーターは、完全に解決されたURLを返すこともできます。

    このインポーターがURLを認識しない場合は、代わりにnullを返すことで、他のインポーターまたはロードパスがそれを処理できるようにする必要があります。

    これはPromiseを返すこともできますが、そうする場合、インポーターはcompileAsyncおよびcompileStringAsyncにのみ渡すことができ、compileまたはcompileStringには渡すことができません。