Javascript TypeScript和Socket.io
我想在我的Typescript项目中使用socket.io,但我只找到了服务器端Typescript的.d.ts文件 这是一个很好的例子: 它展示了如何将TypeScript与Socket.io结合使用。但是在客户端,它使用JavaScript 我需要的是一个用于客户端TypeScript的.d.ts文件,用于解析此行中的错误消息: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文件
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 codeconst socket=io()中代码>将自动键入:const socket:SocketIOClient.socket
。