@babel/plugin-proposal-import-wasm-source
Traducción Beta No Oficial
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Transforma las declaraciones import source en objetos WebAssembly.Module, asumiendo que import source se utiliza para importar el código fuente de un módulo WebAssembly.
La transformación aplicada por este plugin depende de la opción de nivel superior targets para determinar si el código generado debe ser compatible con Node.js, navegadores, o ambos. Cuando se dirige a Node.js, el código generado también variará según si estás compilando módulos a CommonJS o no.
precaución
Este plugin no puede utilizarse al compilar módulos a AMD, SystemJS o UMD.
Ejemplo
input.js
import source libMod from "./lib.wasm";
se transformará 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")));
Instalación
- 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
Uso
Mediante un archivo de configuración (Recomendado)
babel.config.json
{
"plugins": [
"@babel/plugin-proposal-import-wasm-source"
]
}
Mediante la CLI
Shell
babel --plugins=@babel/plugin-proposal-import-wasm-source script.js
Mediante la API de Node
JavaScript
require("@babel/core").transformSync("code", {
plugins: [
"@babel/plugin-proposal-import-wasm-source"
],
});