我正在正确地进行从Nest 6升级项目的工作,无法弄清楚如何将当前使用的HTTP服务器实例注入到类中。

以前,我一直这样使用HTTP_SERVER_REF中的@nestjs/core

@Inject(HTTP_SERVER_REF) private readonly httpServer: HttpServer


这个常数似乎不再存在。我想到了一些猴子补丁程序解决方案,可以让我访问HTTP服务器,但是我想知道:是否有新的适当方法来注入HTTP服务器?我正在使用默认的@nestjs/platform-express包。

最佳答案

您可以改为注入HttpAdapterHost,请参见docs

export class CatsService {
  constructor(private readonly adapterHost: HttpAdapterHost) {}
}


然后,您可以通过以下属性访问http适配器:

const httpAdapter = this.adapterHost.httpAdapter;


您可以使用以下库实例:

const instance = httpAdapter.getInstance();

09-05 22:35