99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

NestJS 性能

2023-09-08 17:41 更新

默認情況下,Nest 使用 Express 框架。 如前所述,Nest 還提供與其他庫的兼容性,例如 Fastify。 Nest 通過實現(xiàn)一個框架適配器來實現(xiàn)這種框架獨立性,該適配器的主要功能是將中間件和處理程序代理到適當?shù)膸焯囟▽崿F(xiàn)。

請注意,為了實現(xiàn)框架適配器,目標庫必須提供與 Express 中類似的請求/響應管道處理。

Fastify 為 Nest 提供了一個很好的替代框架,因為它以與 Express 類似的方式解決設(shè)計問題。 然而,fastify 比 Express 快得多,取得了幾乎兩倍的基準測試結(jié)果。 一個公平的問題是為什么 Nest 使用 Express 作為默認的 HTTP 提供程序? 原因是 Express 被廣泛使用、廣為人知,并且擁有大量兼容的中間件,這些中間件可供 Nest 用戶開箱即用。

但是由于 Nest 提供了框架獨立性,我們可以輕松地在它們之間進行遷移。 當我們高度重視非??斓男阅軙r,F(xiàn)astify 可能是一個更好的選擇。 要使用 Fastify,只需選擇本章所示的內(nèi)置 FastifyAdapter。

安裝

首先,我們需要安裝所需的包:

$ npm i --save @nestjs/platform-fastify

適配器

一旦安裝了 Fastify 平臺,我們就可以使用 FastifyAdapter。

import { NestFactory } from '@nestjs/core';
import {
  FastifyAdapter,
  NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create<NestFastifyApplication>(
    AppModule,
    new FastifyAdapter()
  );
  await app.listen(3000);
}
bootstrap();

默認情況下,F(xiàn)astify 只監(jiān)聽 localhost 127.0.0.1 接口。 如果要接受其他主機上的連接,則應在 listen() 調(diào)用中指定“0.0.0.0”:

async function bootstrap() {
  const app = await NestFactory.create<NestFastifyApplication>(
    AppModule,
    new FastifyAdapter(),
  );
  await app.listen(3000, '0.0.0.0');
}

平臺特定包

請記住,當我們使用 FastifyAdapter 時,Nest 使用 Fastify 作為 HTTP 提供程序。 這意味著依賴 Express 的每個配方可能不再有效。 相反,你應該使用 Fastify 等效的包。

重定向響應

Fastify 處理重定向響應的方式與 Express 略有不同。 要使用 Fastify 進行正確的重定向,請返回狀態(tài)碼和 URL,如下所示:

@Get()
index(@Res() res) {
  res.status(302).redirect('/login');
}

Fastify 選項

我們可以通過 FastifyAdapter 構(gòu)造函數(shù)將選項傳遞給 Fastify 構(gòu)造函數(shù)。 例如:

new FastifyAdapter({ logger: true });


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號