將Golang 編譯為WebAssembly (Wasm)
使用指令GOOS=js GOARCH=wasm go build - 將Go 程式碼編譯為Wasm 時編譯為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