我收到一个 JS 错误:Uncaught (in promise) TypeError: WebAssembly.instantiate(): Import #0 module="env" error: module is not an object or function
当我在 Chrome 开发工具中查看 wasm 文件时,我在顶部看到这样的导入语句:
(module
(func $blst_hash_to_g2 (;0;) (import "env" "blst_hash_to_g2") (param i32 i32 i32 i32 i32 i32 i32))
(func $blst_sign_pk2_in_g1 (;1;) (import "env" "blst_sign_pk2_in_g1") (param i32 i32 i32 i32))
(func $blst_scalar_from_bendian (;2;) (import "env" "blst_scalar_from_bendian") (param i32 i32))
(func $blst_sk_check (;3;) (import "env" "blst_sk_check") (param i32) (result i32))
是什么导致了这些导入语句?如何删除或修复它们?我可以看到它们是blst
包中包含的 Rust 包的blsttc
一部分。该blst
包使用 bindgen 生成与 blst.h 的 FFI 绑定,所以也许这与它有关?
这个Github repo有代码。我正在使用wasm-pack build --target=web