Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

207
Vistas
¿Cómo construyo un paquete WebAssembly que admita múltiples paquetes?

Quiero construir una biblioteca híbrida (es decir, un paquete NPM) usando JavaScript (TypeScript) + WebAssembly (Rust). Y quiero admitir múltiples paquetes, no solo Webpack. Esto parece difícil, ya que cada paquete utiliza un enfoque ligeramente diferente para importar WASM:

 // Webpack (experiments.asyncWebAssembly) import { hello } from './my-lib.wasm' hello() // Rollup (using @rollup/plugin-wasm) import init from './my-lib.wasm' init().then(({ instance }) => { instance.exports.hello() }) // Parcel import { hello } from './my-lib.wasm' hello() // ...or, if you want a promise import('./my-lib.wasm').then(exports => { exports.hello() }) // Vite (note: this will be removed in v3.0, // see https://github.com/vitejs/vite/discussions/7763) import init from './my-lib.wasm' init().then(exports => { exports.hello() }) // alternatively, use vite-plugin-wasm, which is the preferred approach for v3+ import { hello } from './my-lib.wasm' hello()

No puedo confiar en los enlaces JS generados por wasm-bindgen, ya que AFAIK solo es compatible con Webpack.

 // JS bindings generated by wasm-bindgen import * as wasm from './my-lib_bg.wasm' export function hello() { wasm.hello() }

Las aplicaciones web no tienen este problema porque pueden elegir su propio paquete, pero no sé qué paquete procesará mi código de antemano.

¿Cómo puedo escribir un paquete que admita múltiples paquetes? ¿Puedo generar de alguna manera diferentes puntos de entrada para cada paquete?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que el objetivo del bundler es la respuesta para el futuro, es decir, con la integración de WASM ESM . Actualmente es compatible con Webpack y Vite (con mi complemento que mencionaste). En el futuro habrá soporte nativo en el navegador y Node.js. Pero actualmente es posible que sea necesario crear complementos para admitirlos en otros paquetes.

Otra opción por ahora es usar el objetivo web , que requiere que el usuario de su paquete obtenga la URL del archivo WASM del paquete e inicialice su complemento con él.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda