NestJS v10 发布,速度提升 20 倍

1,886 阅读1分钟

原文

NestJS 是一个 TypeScript Node.js 框架,帮助你建立企业级高效和可扩展的 Node.js 应用程序。 近日 NestJS v10 正式发布。这个版本带来了大量的错误修复、改进和新功能。

SWC

SWC(Speedy Web Compiler)是一个基于 Rust 的可扩展平台,将 SWC 与 Nest CLI 一起使用可以大大加快你的开发过程。SWC 大约比默认的 TypeScript 编译器快 20 倍。

在 NestJS v10 中,你可以通过简单地将 -b swc 标志传递给 nest start 命令来使用 SWC,如下所示:

在测试中重写模块

NestJS 10 引入了一个新功能,允许你在测试中重写模块。当你想一次性模拟整个模块而不是单独模拟每个时,这个功能特别有用。

Test.createTestingModule({  ...})  .overrideModule(LoggerModule)  .useModule(LoggerTestingModule)  .compile();

Redis 通配符订阅

在 NestJS v10 中,增加了对 Redis 通配符订阅的支持。这个功能允许你订阅所有符合给定模式的消息。只要你在你的微服务配置中把 wildcards 配置属性设置为 true,如下所示:

const app = await NestFactory.createMicroservice<MicroserviceOptions>(  AppModule,  {    transport: Transport.REDIS,    options: {      host: 'localhost',      port: 6379,      wildcards: true, // 👈 THIS IS NEW    },  });

CacheModule

CacheModule 已经从 @nestjs/common 包中删除,现在可以将其作为一个独立的包 @nestjs/cache-manager 来使用。这一改变是为了避免在 @nestjs/common 包中出现不必要的依赖。

放弃 Node.js v12 的支持

从 NestJS 10 开始,将不再支持 Node.js v12,NestJS 10 需要 Node.js v16 或更高版本。

CLI 插件

NestJS CLI 插件现在需要 TypeScript >= v4.8,旧版本的 TypeScript 将不再被支持。

更多详情可查看:github.com/nestjs/nest…