首页 > 解决方案 > 如何为 Typescript 使用 socket.IO 客户端类型定义?

问题描述

我已经使用 SocketIO 客户端安装了 Typescript 定义

npm install @types/socket.io-client

但是在 VS Code 中,我仍然会遇到类型错误:

let socket: SocketIOClientStatic = io() 

“Socket”类型缺少“SocketIOClientStatic”类型的以下属性:协议、套接字、管理器、管理器 (2739)

所有这些属性都没有在智能感知或 socketIO 文档中作为选项提及......在创建io()

如何将 Typescript 与 SocketIO 客户端一起使用?

标签: typescriptsocket.iotypescript-typings

解决方案


io函数有返回类型SocketIOClient.Socket,而不是SocketIOClientStatic。如果您使用该类型,或者完全省略签名,它会按预期工作:

import io from 'socket.io-client';

const socket: SocketIOClient.Socket = io('http://localhost');
const anotherSocket = io('http://localhost');

推荐阅读