Socket.io typescriptcript定义似乎不正确

时间:2013-12-18 08:13:08

标签: socket.io typescript

我正在尝试在我的typescript项目中测试socket.io站点中显示的此代码,但是Typescript定义似乎没有在此函数中调用的接口:

这是我的代码:

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

这是错误:

error TS2094: The property 'sockets' does not exist on value of type '{ listen: { (server: http.Server, options: any, fn: Function): SocketManager; (server: http.Server, fn?: Function): SocketManager; (port: Number): SocketManager; }; }'.

这是d.ts文件:

https://github.com/borisyankov/DefinitelyTyped/blob/master/socket.io/socket.io.d.ts#L68

1 个答案:

答案 0 :(得分:2)

看起来socket.io API changed between 0.6 and 0.7和声明文件尚未更新以反映这一点。所以你没有做错任何事。

大多数申报文件由志愿者维护,与他们描述的项目无关。如果您可以编写一个新的声明文件并将其提交给肯定的项目,那将是值得赞赏的。我仍然认为this是迄今为止最佳指南。