我已关注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.io
,i 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?
答案 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