You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Golang WASM报错:import object字段'gojs'不是Object

解决Go WASM中"import object field 'gojs' is not an Object"错误

问题概述

使用Golang+WASM开发基础应用时,原本正常运行的项目突然报错:

Uncaught (in promise) TypeError: import object field 'gojs' is not an Object

错误定位在WebAssembly.instantiateStreaming代码行,即使完全复制教程代码也无法解决,尝试过注释新增代码、重装Go、替换wasm_exec.js等操作,仅注释WebAssembly.instantiateStreaming时错误消失。

核心排查与解决方案

1. 修正WASM编译命令

你的编译命令存在错误,替换为以下正确命令:

GOOS=js GOARCH=wasm go build -o static/main.wasm assets/main.go

该命令会直接将编译好的main.wasm输出到static目录,避免手动复制时出现路径或文件损坏问题。

2. 确保wasm_exec.js版本匹配

必须使用当前Go安装目录下对应版本的wasm_exec.js,版本不兼容会导致go.importObject结构异常。执行以下命令复制文件:

cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" static/

不要使用旧版本或第三方来源的wasm_exec.js。

3. 验证静态文件目录结构

确保项目目录结构符合以下规范:

项目根目录/
├── assets/
│   └── main.go
├── server/
│   └── server.go
└── static/
    ├── index.html
    ├── wasm_exec.js
    └── main.wasm

4. 清除浏览器缓存

强制刷新浏览器(Ctrl+F5),避免旧的wasm_exec.js或main.wasm缓存干扰。

验证步骤

  1. 执行修正后的编译命令生成main.wasm
  2. 复制对应版本的wasm_exec.js到static目录
  3. 启动服务器:go run server/server.go
  4. 访问http://localhost:9000,打开浏览器控制台,应能看到Go Web Assembly的输出。

内容的提问来源于stack exchange,提问作者codingHuman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:28:18