| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/WebAssembly/Reference/JavaScript_interface/compile_static | [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.
Die statische Methode WebAssembly.compile() kompiliert WebAssembly-Binrcode in ein WebAssembly.Module-Objekt.
Diese Funktion ist ntzlich, wenn ein Modul kompiliert werden muss, bevor es instanziiert werden kann (andernfalls sollte die Funktion WebAssembly.instantiate() verwendet werden).
Hinweis: Webseiten, die eine strikte Content Security Policy (CSP) haben, knnten das Kompilieren und Ausfhren von WebAssembly-Modulen blockieren. Weitere Informationen zum Zulassen der WebAssembly-Kompilierung und -Ausfhrung finden Sie unter dem script-src CSP.
WebAssembly.compile(bufferSource)
WebAssembly.compile(bufferSource, compileOptions)
bufferSourceEin typisiertes Array oder ArrayBuffer, das den Binrcode des zu kompilierenden Wasm-Moduls enthlt.
compileOptions OptionalEin Objekt, das Kompilierungsoptionen enthlt. Eigenschaften knnen enthalten:
builtins OptionalEin Array von einem oder mehreren 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 Namensraum fr importierte globale String-Konstanten angibt. Diese Eigenschaft muss angegeben werden, wenn Sie importierte globale String-Konstanten im Wasm-Modul verwenden mchten.
Ein Promise, das sich zu einem WebAssembly.Module-Objekt auflst und das kompilierte Modul darstellt.
bufferSource kein typisiertes Array oder ArrayBuffer ist, wird das Promise mit einem TypeError abgelehnt.WebAssembly.CompileError abgelehnt.Im folgenden Beispiel wird der geladene einfache Wasm-Bytecode mit der Funktion compile() kompiliert und dann mit postMessage() an einen Worker gesendet.
const worker = new Worker("wasm_worker.js");
fetch("simple.wasm")
.then((response) => response.arrayBuffer())
.then((bytes) => WebAssembly.compile(bytes))
.then((mod) => worker.postMessage(mod));
Hinweis:
In den meisten Fllen werden Sie vermutlich
WebAssembly.compileStreaming() verwenden wollen, da es effizienter als compile() ist.
Dieses Beispiel aktiviert JavaScript-String-Builtins und importierte globale String-Konstanten, wenn das Wasm-Modul mit compile() kompiliert wird, bevor es mit instantiate() instanziiert und anschlieend die exportierte main()-Funktion (die "hello world!" auf die Konsole schreibt) ausgefhrt wird. Siehe es live in Aktion.
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) => WebAssembly.compile(bytes, compileOptions))
.then((module) => WebAssembly.instantiate(module, importObject))
.then((instance) => instance.exports.main());
| Spezifikation |
|---|
| WebAssembly JavaScript Interface # dom-webassembly-compile |
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 |