@babel/plugin-proposal-import-wasm-source
Traduzione Beta Non Ufficiale
Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Trasforma le dichiarazioni import source in oggetti WebAssembly.Module, presupponendo che import source venga utilizzato per importare il sorgente di un modulo WebAssembly.
La trasformazione applicata da questo plugin dipende dai tuoi targets di alto livello per determinare se il codice generato debba essere compatibile con Node.js, browser o entrambi. Quando si punta a Node.js, il codice generato cambia anche in base alla compilazione dei moduli in CommonJS o meno.
attenzione
Questo plugin non può essere utilizzato durante la compilazione di moduli in AMD, SystemJS o UMD.
Esempio
input.js
import source libMod from "./lib.wasm";
verrà trasformato in
- 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")));
Installazione
- 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
Utilizzo
Con un file di configurazione (Consigliato)
babel.config.json
{
"plugins": [
"@babel/plugin-proposal-import-wasm-source"
]
}
Tramite CLI
Shell
babel --plugins=@babel/plugin-proposal-import-wasm-source script.js
Tramite Node API
JavaScript
require("@babel/core").transformSync("code", {
plugins: [
"@babel/plugin-proposal-import-wasm-source"
],
});