FileImporter<sync>

Ein spezieller Importtyp, der alle Ladevorgänge an vorhandene Dateien auf der Festplatte umleitet. Obwohl dies weniger leistungsfähig ist als ein vollständiger Importer, kümmert er sich automatisch um Sass-Funktionen wie das Auflösen von Partials und Dateierweiterungen sowie das Laden der Datei von der Festplatte.

Wie alle Importer implementiert dieser benutzerdefinierte Sass-Ladelogik für @use Regeln und @import Regeln. Er kann an importers oder importer übergeben werden.

Beispiel

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'));
}
}]
});

Typenparameter

Hierarchie

  • FileImporter

Methoden

Methoden

  • Eine Callback-Funktion, die aufgerufen wird, um eine Ladeanfrage (z. B. für @use oder @import) teilweise in eine Datei auf der Festplatte aufzulösen.

    Im Gegensatz zu einem Importer kümmert sich der Compiler automatisch um relative Ladeanfragen für einen FileImporter. Weitere Details zur Auflösung von Ladeanfragen finden Sie unter importers.

    Wirft

    any - Wenn dieser Importer url erkennt, aber feststellt, dass sie ungültig ist, kann er eine Ausnahme auslösen, die von Sass gekapselt wird. Wenn das Ausnahmeobjekt eine message-Eigenschaft hat, wird diese als Nachricht der gekapselten Ausnahme verwendet; andernfalls wird die toString()-Methode des Ausnahmeobjekts verwendet. Das bedeutet, dass Importer einfach Strings werfen können.

    Parameter

    • url: string

      Die geladene URL. Da dies relativ sein kann, wird sie als String und nicht als URL-Objekt dargestellt.

    • context: CanonicalizeContext

    Gibt zurück PromiseOr<null | URL, sync>

    Eine absolute file: URL, wenn dieser Importer die url erkennt. Dies kann nur teilweise aufgelöst sein: Der Compiler sucht automatisch nach Partials, Indexdateien und Dateierweiterungen basierend auf der zurückgegebenen URL. Ein Importer kann auch eine vollständig aufgelöste URL zurückgeben, wenn er dies wünscht.

    Wenn dieser Importer die URL nicht erkennt, sollte er stattdessen null zurückgeben, damit andere Importer oder load paths sie verarbeiten können.

    Dies kann auch ein Promise zurückgeben, aber wenn dies der Fall ist, kann der Importer nur mit compileAsync und compileStringAsync verwendet werden, nicht mit compile oder compileString.