问题标签 [nestjs-gateways]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
websocket - 可以同时使用 socket.io 和 ws 吗?
我有一个使用 socket.io 的 NestJS 微服务,但我需要知道是否可以在同一个网关WebSockets (WS) 中实现它。我需要从不同的客户端(socket.io 和 ws)在同一个命名空间发送一些请求。实际的实现只适用于 socket.io。
nestjs - 如何在 NestJS 拦截器中获取存储库
我在模块中的拦截器上创建了。我想在拦截器中获取存储库 [ LocumRepository ] 并在调用后进行一些处理。以下是我的拦截器类:
我收到以下错误:
找不到“LocumRepository”的存储库。看起来这个实体没有在当前的“默认”连接中注册?
而 LocumRepository 在模块文件中声明,我在 Interceptor 类之外使用它
nestjs - NestJS 网关:带有 slug 的路径
我正在尝试在 NestJS 中创建一个响应多个路径的 websockets 网关。这是一项要求,因为我正在尝试构建的内容将替换现有系统。我使用 WsAdapter 作为底层适配器。
websockets 路径可以用slugs(例如/ws/:key
)或正则表达式来表示。然而,WebSocketGateway 装饰器只接受单个字符串并且不识别这样的 slug。
我要替换的以前的旧实现使用ws
,express
和基于正则表达式的路径匹配来执行此操作。
任何提示或指针将不胜感激。
nestjs - 如何使用 postgresql 在嵌套 js 中设置不同的环境文件
我是这个框架的新手。我使用 ormconfig 文件连接了 PostgreSQL 数据库。但是我需要配置开发环境、生产环境、测试环境。如何实现这个场景。我尝试在我的项目中使用配置服务。但始终只连接 .env 文件配置。
开发.env
nestjs - 如何使用nest js在typeorm中生成迁移文件
我是新框架 Nest JS 并创建了示例 Restful API 但无法迁移实体文件。我尝试了很多方法它不起作用。第一次运行迁移命令以生成迁移文件,它工作正常。但是第二次创建一个新实体然后运行迁移命令它显示没有更改消息如何解决这个问题。
数据库配置 .ts 文件
迁移命令
创建和生成迁移命令
运行迁移文件
node.js - Nestjs如何同时使用http请求和Websocket
我在 Nestjs 中有一个控制器来处理 HTTP 请求。有一个物联网设备与服务器通信,并通过发布请求将最新更改发送到服务器。同时,有一个移动应用程序应该使用 Websockets 实时接收更新。
我知道 HTTP 请求和 Websockets 在 Nestjs 中是不同的概念,但是有什么方法可以在我收到 HTTP 请求时发出事件?
任何想法将不胜感激。
node.js - Nestjs wss handleConnection(socket) socket.handshake 未定义,无法访问标头进行身份验证
我有一个 Nestjs 网关,我试图根据标头中的值运行授权逻辑,但无论我试图访问握手,它总是返回“未定义”
我也在通过 SSL 尝试这个,这可能会有所作为。
main.ts:
网关.ts:
session.guard.ts:
而且,虽然我已经在整个网关上添加了会话保护 --- 保护不会触发 handleConnection()
websocket - nestjs + socket.io 在嵌套路径而不是主机的根目录中从微服务提供 websockets 总是返回 404 Not Found
我正在使用带有nestjs 的socket.io 实现。我的整个生产架构依赖于负载均衡器来将路径上的请求路由到微服务容器。
其中一个包含一个与用户数据交互并嵌套在mydomain.com/apis/user
在我的网关上,我已将其配置为使用此路径:
我已经尝试了没有名称空间而只有路径的变体。
我也有一个全局前缀: app.setGlobalPrefix("apis/user");
删除它没有区别,看来我需要以前缀或不定义网关的路径。
然后在客户端上,我尝试通过在 url 中添加路径或选项对象来连接它,如下所示:
这适用于嵌套在那里的网关上的路径和句柄连接触发器,但是在后端配置轮询不起作用,客户端仍然抛出:
nestjs - 即使异常来自http请求并且应用程序中没有套接字,也定义了来自异常过滤器上下文的Nestjs套接字?
我正在尝试使用“错误输入异常过滤器”来捕获错误并将它们返回给客户端。我在我的 monorepo 中同时拥有 websockets 和 http 端点,在一个应用程序上我同时拥有这两个端点。
我遇到的问题是,我不想为 WS 和 HTTP 使用两个单独的异常过滤器,直到现在我都依赖于 nestjs 定义请求或套接字上下文来利用它并将错误返回给websocket 或通过 http res.send 返回错误。
但事实证明,即使应用程序中根本没有 websocket,也没有注册适配器,什么都没有,它们都被定义了。
异常处理程序:
有没有办法:
- 防止这种情况
- 从上下文中挖掘另一个值以知道将错误返回到哪里
谢谢你。
nestjs - 如何在 Nest JS 中实现 Retrace 分析工具
我尝试在 Nest JS 中实现 APM(Retrace) 分析工具。在 Nest JS 中,我无法获得任何用于实现分析的文档。但是我在 Node JS 中看到了实现 Profiling 工具的方式与在 Nest JS 中的执行方式相同,任何人都可以告诉我