✕

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

import.source()

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die Syntax import.source() verhält sich wie die reguläre import()-Syntax, liefert jedoch ein Objekt zurück, das den kompilierten Quellcode des Moduls repräsentiert. Das Modul wird abgerufen und kompiliert, aber seine Abhängigkeiten werden nicht geladen. Es wird weder verknüpft noch ausgewertet. Es kann später explizit ausgewertet werden, beispielsweise mit einem dynamischen Import oder WebAssembly.instantiate().

Um import.source() zu verwenden, muss das Zielmodul Source-Phase-Importe unterstützen. Derzeit unterstützen nur WebAssembly-Module Source-Phase-Importe; sie liefern WebAssembly.Module-Objekte zurück. Objekte für den Quellcode von JavaScript-Modulen sollen durch den Vorschlag ECMAScript Module Phase Imports hinzugefügt werden.

Weitere Informationen zur Semantik von Source-Phase-Importen finden Sie bei der Deklarationsform import source.

Syntax

js
import.source(moduleName)
import.source(moduleName, options)

import.source() ist eine spezielle Syntax (eine „Meta-Property“) und keine Methode eines import-Objekts.

Parameter

Siehe import().

Rückgabewert

Gibt ein Promise zurück, das mit einem AbstractModuleSource-Objekt erfüllt wird. Dieses repräsentiert den kompilierten Quellcode des Moduls, nachdem das Modul erfolgreich geladen und kompiliert wurde.

Wie bei der regulären import()-Syntax wird das Promise zurückgewiesen, wenn das Modul nicht geladen oder geparst werden kann. Es wird außerdem mit einem SyntaxError zurückgewiesen, wenn der Modultyp keine Source-Phase-Importe unterstützt. Der Import lädt keine Abhängigkeiten und verknüpft oder wertet das Modul nicht aus. Fehler aus diesen späteren Schritten werden daher nicht gemeldet.

Beispiele

import.source() verwenden

js
const myModuleSource = await import.source("./my-module.wasm");

const instance = await WebAssembly.instantiate(myModuleSource, {
  env: { log: console.log },
});
const { exports } = instance;

Spezifikationen

Spezifikation
Source Phase Imports
# sec-left-hand-side-expressions

Browser-Kompatibilität

Siehe auch