帖子
分享您的知识。
Struggling to run WebAssembly in TypeScript due to function errors
Hey everyone, I've been trying to load and run WebAssembly from TypeScript but I'm encountering multiple errors about missing functions, like function="__wbindgen_string_new": function import requires a callable
. I tried adding __wbindgen_placeholder__: {}
, to the imports to fix LinkError: WebAssembly.instantiate(): Import #0 module="__wbindgen_placeholder__" function="__wbindgen_string_new": function import requires a callable
, but I'm still facing similar issues. Does anyone have ideas on how to resolve this? Here's my code for reference: async function load_wasm(input: Uint8Array) { const wasmPath = path.resolve(__dirname, 'file.wasm'); const wasmBytes = fs.readFileSync(wasmPath); const memory = new WebAssembly.Memory({ initial: 256, maximum: 512, }); await WebAssembly.instantiate(wasmBytes, { js: { mem: memory }, wbindgen_placeholder: {}, }).then((wasm) => { const helloWasm = wasm.instance.exports.hello_wasm; if (typeof helloWasm === 'function') { const result = helloWasm(input); console.log(result); } else { console.error('hello_wasm is not a function'); } }); }
- Move CLI
答案
1你可以在 Sui 文档中查看一个例子来理解逻辑:https://docs.sui.io/guides/developer/nft/asset-tokenization#webassembly-wasm-and-template-package.
你知道答案吗?
请登录并分享。
Move is an executable bytecode language used to implement custom transactions and smart contracts.