如何在 Vite 中使用嵌入式 Webassembly?

How to use embedded Webassembly in Vite?

我想使用这个很棒的包:https://github.com/hpcc-systems/hpcc-js-wasm 它将 Webassembly (graphizlib.wasm) 与要使用的 Javascript 函数捆绑在一起。我将它添加为 package.json.

中的依赖项
  "dependencies": {
    "@hpcc-js/wasm": "^1.13.0"
  },

当我现在 运行 Vite 开发服务器时,Javascript 代码很容易找到。但是 wasm 不可用。特别是,我收到此错误消息:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/graphvizlib.wasm

我不确定如何使嵌入式 Web 程序集可用于我的网站。它在依赖包中。参见 #1,在 node_modules 中(#2),在 @hpcc-js/wasm/dist 文件夹中(#3)

我也尝试过使用 Vite 的构建配置 - 无法访问。

基本上,您需要像对待任何“静态资产”(如 png 或 jpeg)一样对待 wasm 文件。根据浏览器默认查找文件的位置,最快的解决方案是简单地将 wasm 文件复制到您的 public 文件夹。

失败你可以在这里查看 Vite 文档:https://vitejs.dev/guide/assets.html

在@hpcc-js/wasm 方面,请查看此处的“wasmFolder”文档:https://github.com/hpcc-systems/hpcc-js-wasm#wasmFolder 因为它会让您覆盖默认位置。