2012-12-29 47 views
4

我想在我的Typescript项目中使用socket.io,但是我只找到服务器端打字稿的.d.ts文件。TypeScript和Socket.io

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

它显示了如何结合Socket.io使用打字稿。然而在客户端它使用JavaScript。

我需要的是客户端的打字稿一个.d.ts文件,从该行解析错误消息:

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

名称“IO”并不在当前范围存在

在哪里可以找到合适的定义文件?

回答

8

我创建了自己.d.ts文件,这是相当短,但它工作得很好:

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

此声明文件可以导入到客户端打字稿及socket.io标准的例子会工作,这里的我的打字稿版本:

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

,我们可以得到这样的发挥好与https://github.com/borisyankov/DefinitelyTyped/blob/ master/socket.io/socket.io.d.ts? – ubershmekel

11

有@类型/ socket.io现在,只需通过运行安装:

npm i --save @types/socket.io