表演(Fastify)
表演(Fastify)
在引擎盖下,Nest使用Express,但如前所述,它提供了与各种其他库的兼容性,例如Fastify。它是如何工作的?事实上,Nest需要使用您喜欢的库,是兼容的适配器,主要代理相应的处理程序到适当的库特定方法。此外,您的图书馆必须提供至少类似的快递请求 - 响应周期管理。
一个Fastify适合这里非常好,因为它解决了作为快递做了类似的方式设计问题。然而,满足要快得多
,实现基准测试结果差不多两倍。问题是,为什么Nest仍然使用express作为默认的HTTP提供程序呢?因为express是广泛使用的,众所周知的,并且拥有大量兼容的中间件。
但我们并没有把人锁定在一个单一的范例中。我们让他们使用他们需要的东西。当你关心真正优秀的性能时,Fastify是一个更好的选择,这就是我们提供内置FastifyAdapter
有助于将这个库与Nest集成的原因。
安装
首先,我们需要安装所需的包:
$ npm i --save fastify fastify-formbody
适配器
一旦安装了fastify,我们就可以使用了FastifyAdapter
。
import { NestFactory, FastifyAdapter } from '@nestjs/core';
import { ApplicationModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule, new FastifyAdapter()
await app.listen(3000
}
bootstrap(
如果您在docker容器中
运行Nest实例,则需要指定主机,如下所示:
await app.listen(3000, '0.0.0.0'
就这样。此外,您可以通过FastifyAdapter
构造函数将选项传递给fastify构造函数。请记住,现在,Nest使用fastify作为HTTP提供程序
,这意味着,在express上传递的每个配方都将不再起作用。你应该使用fastify等效包。