簡體   English   中英

TypeScript 和 Socket.io

[英]TypeScript and Socket.io

我想在我的 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”

在哪里可以找到合適的定義文件?

現在有@types/socket.io,只需通過運行安裝它:

npm i --save @types/socket.io

您應該使用socket.io客戶端在客戶端,同時使用d.ts文件socket.io服務器上d.ts文件。

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

@types/socket.io-client ,您可以找到以下最適合客戶端的類型:

const client: SocketIOClient.Socket = io('http://localhost');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM