@babel/plugin-proposal-import-wasm-source
Traduction Bêta Non Officielle
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Transforme les déclarations import source en objets WebAssembly.Module, en supposant que import source est utilisé pour importer le code source d'un module WebAssembly.
La transformation appliquée par ce plugin dépend de votre configuration de haut niveau targets pour déterminer si le code généré doit être compatible avec Node.js, les navigateurs, ou les deux. Lorsque Node.js est ciblé, le code généré varie également selon que vous compilez les modules en CommonJS ou non.
attention
Ce plugin ne peut pas être utilisé lors de la compilation de modules en AMD, SystemJS ou UMD.
Exemple
input.js
import source libMod from "./lib.wasm";
sera transformé en
- Browsers
- Node.js (ESM)
- Node.js (CommonJS)
output.js
const libMod = await WebAssembly.compileStreaming(fetch(import.meta.resolve("./lib.wasm")));
output.js
import { readFileSync as _readFileSync } from "fs";
const libMod = new WebAssembly.Module(_readFileSync(new URL(import.meta.resolve("./lib.wasm"))));
output.js
"use strict";
const libMod = new WebAssembly.Module(require("fs").readFileSync(require.resolve("./lib.wasm")));
Installation
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/plugin-proposal-import-wasm-source
yarn add --dev @babel/plugin-proposal-import-wasm-source
pnpm add --save-dev @babel/plugin-proposal-import-wasm-source
bun add --dev @babel/plugin-proposal-import-wasm-source
Utilisation
Avec un fichier de configuration (Recommandé)
babel.config.json
{
"plugins": [
"@babel/plugin-proposal-import-wasm-source"
]
}
Via CLI
Shell
babel --plugins=@babel/plugin-proposal-import-wasm-source script.js
Via l'API Node
JavaScript
require("@babel/core").transformSync("code", {
plugins: [
"@babel/plugin-proposal-import-wasm-source"
],
});