⛸️NestJS 学习 —— 网关 Gateway
00 分钟
2023-4-10
2023-4-12
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.iows。你可以选择最适合你需要的。另外,您可以按照本指南构建自己的适配器。
notion image
网关可以被看作是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值保持一致
 

参考链接

  1. nestjs中使用ws - 掘金 (juejin.cn)
 
上一篇
NestJS 学习 —— 微服务 Microservice
下一篇
NestJS 学习 —— 基本概念

评论
Loading...