首页 文章

TypeScript和Socket.io

提问于
浏览
5

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

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

它展示了如何将TypeScript与Socket.io结合使用 . 但是在客户端它使用JavaScript .

我需要的是客户端TypeScript的.d.ts文件,该文件解决了此行的错误消息:

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

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

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

3 回答

  • 13

    我创建了自己的.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");
    
  • 13

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

  • 8

    现在有@ types / socket.io,只需运行即可安装:

    npm i --save @types/socket.io

相关问题