非常教程

Nest参考手册

技术

表演(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等效包。

Nest

Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架

Nest目录

1.介绍
2.常见问题
3.CLI
4.方法
5.执行上下文
6.微服务
7.WEBSOCKETS
8.GRAPHQL
9.技术
10.基本内容
11.迁移指南