Javascript TypeScript和Socket.io

Javascript TypeScript和Socket.io,javascript,node.js,web,socket.io,typescript,Javascript,Node.js,Web,Socket.io,Typescript,我想在我的Typescript项目中使用socket.io,但我只找到了服务器端Typescript的.d.ts文件 这是一个很好的例子: 它展示了如何将TypeScript与Socket.io结合使用。但是在客户端,它使用JavaScript 我需要的是一个用于客户端TypeScript的.d.ts文件,用于解析此行中的错误消息: var socket=io.connect("localhost"); 当前作用域中不存在名称“io” 在哪里可以找到合适的定义文件?我创建了自己的.d.ts文件

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

这是一个很好的例子:

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

我需要的是一个用于客户端TypeScript的.d.ts文件,用于解析此行中的错误消息:

var socket=io.connect("localhost");
当前作用域中不存在名称“io”


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

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

您应该在客户端使用d.ts文件,而在服务器上使用d.ts文件。

现在有@types/socket.io,只需运行以下命令即可安装它:


npm i--save@types/socket.io
@types/socket.io客户端
中,您可以找到以下最适合客户端的类型:

const客户端:SocketIOClient.Socket=io('http://localhost');

对于客户端:npm i--save@types/socket.io-client上面@sinticoo82所说的是可靠的:
npm i--save dev@types/socket.io客户端
save dev
可以,如果HTML将从SocketIO服务器加载JavaScript负载),然后在TypeScript code
const socket=io()中将自动键入:
const socket:SocketIOClient.socket