TypeScript和Socket.io

我想在我的Typescript项目中使用socket.io,但是我只find用于服务器端打字的.d.ts文件。

这是一个很好的例子: https : //github.com/soywiz/typescript-node-definitions/blob/master/socket.io.d.ts

它演示了如何结合使用TypeScript和Socket.io。 但是在客户端它使用JavaScript。

我需要的是用于客户端TypeScript的.d.ts文件,该文件parsing了以下行的错误消息:

var socket=io.connect("localhost"); 

名称“io”在当前范围中不存在

我在哪里可以find适当的定义文件?

现在有@ types / socket.io,只需要运行:

npm i --save @types/socket.io

您应该在客户端中使用socket.io-client d.ts文件,并在服务器上使用socket.io d.ts文件。

我创build了我自己的.d.ts文件,它很短,但是效果很好:

 declare var io : { connect(url: string): Socket; }; interface Socket { on(event: string, callback: (data: any) => void ); emit(event: string, data: any); } 

这个声明文件可以导入到客户端的Typescript和socket.io标准的例子将工作,这是我的Typescript版本:

 var socket=io.connect("localhost"); socket.on("news",(data:any)=>alert(data)); socket.emit("news","hello");