我正在努力从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();