Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda