如何从@ types / socket.io使用接口

时间:2018-09-28 10:04:47

标签: javascript typescript socket.io

我已关注How-to-use socket.io with typescript article

在本文中,他们正在安装@types/socket.io。 但是,当他们声明需要获取套接字的函数时,他们使用的类型为:any

io.on('connection', function(socket: any){
  console.log('a user connected');
});

@types/socket.ioi have found an Interface for Socket的存储库中

当我尝试以这种方式定义函数时:

io.on('connection', function(socket: Socket){
  console.log('a user connected');
});

我收到一个错误:Cannot find name 'Socket'.

如何将接口用于基于套接字的on the code of the article

2 个答案:

答案 0 :(得分:3)

主要思想是打开.d.ts文件并检查其导出内容。

如果打开该index.d.ts,则会找到下一个代码

declare const SocketIO: SocketIOStatic;
export = SocketIO;
export as namespace SocketIO;

如您所见,它将SocketIO导出为名称空间。因此,我们可以使用此名称空间访问内部接口,例如:

SocketIO.Socket

希望这会有所帮助。

答案 1 :(得分:0)

如果在使用socket.io-client搜索相同内容时发现线程,请使用:

socket: SocketIOClient.Socket