gpt4 book ai didi

javascript - 实例化 WASM 模块时出错 : "module is not an object or function"

转载 作者:行者123 更新时间:2023-12-03 14:53:22 24 4
gpt4 key购买 nike

我试图在 node.js 中本地实例化一个 .wasm 文件。目标是在本地运行二进制文件并重现网页的功能。
这是我的最小可重现示例:

const fetch = require("node-fetch");

const importObject = {
imports: {
imported_func: function(arg) {
console.log(arg);
}
}
};

fetch('https://www.supremenewyork.com/ticket.wasm').then(response =>
response.arrayBuffer()
).then(bytes => {
let mod = new WebAssembly.Module(bytes);
let instance = new WebAssembly.Instance(mod, importObject);
instance.exports.exported_func();
})

我得到的错误是: TypeError: WebAssembly.Instance(): Import #0 module="wasi_unstable" error: module is not an object or function
我看到了一些类似问题的问题,但没有提供真正的解决方案。这是我第一次与 wasm 合作,所以我很迷茫。

谢谢你的帮助。

最佳答案

您的模块似乎依赖于 wasi_unstable API。如果您想加载它,您将需要该 API 的实现。

要准确查看您的模块需要哪些导入,您可以使用 wasm2watwasmdis分别来自 wabt 和 binaryen 项目的工具。

如果你使用 emscripten 构建了你的 wasm 模块,那么推荐的做法是让 emscripten 生成 JS 来实现这些 API,并为你加载模块。

如果你使用 wasi-sdk 构建你的 wasm 模块,那么你需要某种用于 WASI API 的 web polyfill。

关于javascript - 实例化 WASM 模块时出错 : "module is not an object or function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62194287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com