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

如何将socket.io的require语法转换为TypeScript的import写法

修改后符合TypeScript规范的代码

直接将CommonJS的require调用改为ES模块导入+实例化写法即可,原有配置项无需调整:

import { Server } from 'socket.io';

const io = new Server(server, {
  cors: {
    origin: '*',
  }
});

补充说明

原来的require('socket.io')直接返回Socket.IO的服务器构造函数,切换为ES模块规范后,需要先显式导入Server构造类,再通过new关键字完成实例化,运行逻辑和原有写法完全一致。

如果需要为收发的事件增加类型校验,还可以给Server传入自定义泛型参数,实现类型提示和约束:

// 客户端发送给服务端的事件类型定义
interface ClientToServerEvents {
  sendMsg: (content: string) => void;
}
// 服务端发送给客户端的事件类型定义
interface ServerToClientEvents {
  pushMsg: (from: string, content: string) => void;
}

// 传入泛型参数后,触发和监听事件时都会自动校验类型
const io = new Server<ClientToServerEvents, ServerToClientEvents>(server, {
  cors: {
    origin: '*',
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:24:07