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

开发视频聊天应用出现Uncaught ReferenceError: io is not defined错误

错误产生原因

io是Socket.IO客户端库暴露的全局方法,触发该报错的核心原因有两个:

  • 当前HTML页面中完全没有引入Socket.IO客户端脚本,浏览器无法识别io变量
  • 脚本加载顺序错误:你把业务脚本main.js放在了所有第三方依赖前面加载,就算后续补上Socket.IO依赖,main.js先执行时也会找不到io方法
解决方法

按以下步骤调整即可修复报错:

  1. 引入Socket.IO客户端脚本
    可以选择直接引入CDN资源,或者引入本地node_modules中安装的Socket.IO客户端包,在<body>的脚本引入区域添加如下代码:
<!-- 选其中一种引入方式即可 -->
<!-- CDN引入方式 -->
<script src="https://cdn.socket.io/4.7.2/socket.io.min.js"></script>
<!-- 本地node_modules引入方式(需提前执行npm install socket.io-client安装依赖) -->
<!-- <script src="../node_modules/socket.io/client-dist/socket.io.min.js"></script> -->
  1. 调整脚本加载顺序
    所有第三方依赖脚本必须放在业务脚本main.js之前加载,调整后的脚本引入顺序应该为:
<script src="https://cdn.socket.io/4.7.2/socket.io.min.js"></script>
<script src="../node_modules/requirejs/require.js"></script>
<!-- 其余第三方依赖脚本统一放在业务脚本前加载 -->
<script src="main.js"></script>
  1. 额外校验
    确保你的后端服务已经正常启动Socket.IO服务,io()默认会连接当前页面域名对应的后端服务,后端未启动的情况下仍会触发连接类报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 11:00:03