| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/WebAssembly/Reference/JavaScript_interface/Module/Module | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserbergreifend verfgbar.
* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.
Ein WebAssembly.Module() Konstruktor erstellt ein neues Modulobjekt, das zustandslosen WebAssembly-Code enthlt, der bereits vom Browser kompiliert wurde und effizient mit Workern geteilt und mehrfach instanziiert werden kann.
Die WebAssembly.Module() Konstruktorfunktion kann aufgerufen werden, um den gegebenen WebAssembly-Binrcode synchron zu kompilieren. Der primre Weg, um ein Module zu erhalten, ist jedoch durch eine asynchrone Kompilierungsfunktion wie WebAssembly.compile().
Warnung:
Da die Kompilierung groer Module aufwendig sein kann, sollten Entwickler den Module() Konstruktor nur dann verwenden, wenn eine synchrone Kompilierung absolut notwendig ist; die asynchrone Methode WebAssembly.compileStreaming() sollte in allen anderen Fllen verwendet werden.
Hinweis: Webseiten, die eine strikte Content Security Policy (CSP) haben, knnten die Kompilierung und Ausfhrung von WebAssembly-Modulen blockieren. Fr weitere Informationen zum Zulassen der Kompilierung und Ausfhrung von WebAssembly siehe die script-src CSP.
new WebAssembly.Module(bufferSource)
new WebAssembly.Module(bufferSource, compileOptions)
bufferSourceEin typisiertes Array oder ArrayBuffer, das den Binrcode des Wasm-Moduls enthlt, das Sie kompilieren mchten.
compileOptions OptionalEin Objekt, das Kompilierungsoptionen enthlt. Eigenschaften knnen beinhalten:
builtins OptionalEin Array von Zeichenfolgen, das die Verwendung von JavaScript builtins im kompilierten Wasm-Modul ermglicht. Die Zeichenfolgen definieren die builtins, die Sie aktivieren mchten. Derzeit ist der einzige verfgbare Wert "js-string", der JavaScript-String-Builtins aktiviert.
importedStringConstants OptionalEine Zeichenfolge, die einen Namespace fr importierte globale Zeichenfolgenkonstanten angibt. Diese Eigenschaft muss angegeben werden, wenn Sie importierte globale Zeichenfolgenkonstanten im Wasm-Modul verwenden mchten.
TypeError ausgelst.WebAssembly.CompileError ab.RangeError auslsen, da sie die Kompilierung und Instanziierung von Wasm mit groen Puffern im UI-Thread verbieten.const importObject = {
my_namespace: {
imported_func(arg) {
console.log(arg);
},
},
};
function createWasmModule(bytes) {
return new WebAssembly.Module(bytes);
}
fetch("simple.wasm")
.then((response) => response.arrayBuffer())
.then((bytes) => {
const mod = createWasmModule(bytes);
WebAssembly.instantiate(mod, importObject).then((result) =>
result.exports.exported_func(),
);
});
Dieses Beispiel ermglicht JavaScript-String-Builtins und importierte globale Zeichenfolgenkonstanten, wenn ein Wasm-Modul ber den Module()-Konstruktor kompiliert wird, welches dann mit instantiate() instanziiert wird. Anschlieend wird die exportierte Funktion main() aufgerufen, die "hello world!" auf die Konsole schreibt. Hier live ansehen.
const importObject = {
// Regular import
m: {
log: console.log,
},
};
const compileOptions = {
builtins: ["js-string"], // Enable JavaScript string builtins
importedStringConstants: "string_constants", // Enable imported global string constants
};
fetch("log-concat.wasm")
.then((response) => response.arrayBuffer())
.then((bytes) => {
const module = new WebAssembly.Module(bytes, compileOptions);
WebAssembly.instantiate(module, importObject).then((instance) =>
instance.exports.main(),
);
});
| Spezifikation |
|---|
| WebAssembly JavaScript Interface # dom-module-module |
Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |