将 Golang 编译为 WebAssembly (Wasm)
使用命令 GOOS=js GOARCH=wasm go build - 将 Go 代码编译为 Wasm 时 - o main.wasm,使用 Wasmtime 或 Wasm3 执行期间可能会出现错误。
错误和解决方案
此错误表明 go::debug 导入未定义。 Go 编译器生成的 main.wasm 文件旨在与 wasm_exec.js shim 一起使用。要解决此问题,请通过以下命令使用 Node.js:
node wasm_exec.js main.wasm
使用 Wasm3 时出现此错误。相反,尝试使用支持 WebAssembly 系统接口 (WASI) 的 Tinygo 进行编译,使用命令:
tinygo build -target=wasi -o main.wasm main.go
Go 在浏览器之外对 Wasm 提供了前沿支持。要利用此功能,请使用以下步骤从源代码编译 Go:
go install golang.org/dl/gotip@latest
gotip download
GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm
这种方法将允许您使用 Wasmtime 运行您的程序,无需任何额外的修改。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3