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

Node.js中Socket.IO基础配置报错:控制台提示io未定义

解决Socket.IO客户端“io is not defined”报错

报错核心原因:浏览器环境中未加载Socket.IO客户端库,导致全局变量io不存在。

解决步骤

1. 引入Socket.IO客户端库

必须先在客户端HTML中加载Socket.IO客户端脚本,常用两种方式:

方式一:使用服务端自动提供的脚本路径

在HTML的<body>末尾添加以下标签:

<script src="/socket.io/socket.io.js"></script>

这个路径是Socket.IO服务端默认暴露的,只要你的服务端正常运行,就能直接获取到客户端脚本。

方式二:npm安装客户端包(适用于模块化项目)

如果客户端用npm管理依赖,先安装包:

npm install socket.io-client

再在JS文件中导入使用:

import { io } from 'socket.io-client';
const socket = io();

2. 修正客户端代码

确保引入脚本后再执行连接逻辑,完整客户端HTML示例:

<!DOCTYPE html>
<html>
<body>
    <script src="/socket.io/socket.io.js"></script>
    <script>
        // 直接调用io()即可,无需connect()方法
        const socket = io();

        socket.on('mi mensaje', (data) => {
            alert(data)
        })
    </script>
</body>
</html>

补充说明

你的服务端代码配置是正确的,无需修改。只要客户端正确引入Socket.IO客户端库,io变量就会被正常定义,连接即可建立。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:07:03