type
status
date
slug
summary
tags
category
icon
password
Edited
Apr 12, 2023 02:06 PM
Created
Apr 12, 2023 02:06 PM
网关
本文档中其他地方讨论的大多数概念,如依赖注入、装饰器、异常过滤器、管道、守卫和拦截器,都同样适用于网关。只要有可能,Nest将抽象实现细节,以便相同的组件可以跨基于
http
的平台、WebSockets
和微服务运行。本节将介绍 WebSockets
在 Nest
中的应用。在
Nest
中,网关只是一个用 @WebSocketGateway()
装饰器注解的类。从技术上讲,网关与平台无关,这使得它们在创建适配器之后就可以与任何 WebSockets
库兼容。有两个开箱即用的WS平台:socket.io和ws。你可以选择最适合你需要的。另外,您可以按照本指南构建自己的适配器。网关可以被看作是
provider
,这意味着它可以毫不费力地通过构造函数注入依赖关系。另外,网关也可以由其他类(提供者和控制器)注入。创建项目
安装
使用
ws.gateway.ts
需要注意:
- ws端口号不能和http端口号一样,否则会冲突。WebSocketGateway(port)写端口号
- SubscribeMessage里面的字符串代表类型,就是send event的值
app.modules.ts中添加到providers
main.ts
前端使用
index.html
注意:
- ws.send() 参数是string,需要JSON.stringify。event的值要和SubscribeMessage值保持一致
参考链接
- 作者:JinSo
- 链接:https://jinso365.top/article/nestjs-gateway
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。