NestJS v10 来了!这个渐进式 Node.js 框架提供了高效、可靠和可扩展的服务器端应用程序构建。
根据StackOverflow Developer的调查,NestJS是世界上最受欢迎的10个后端框架之一。在此处查看调查结果。
它的 Github 仓库中有超过 58k Star。
最近 NestJS 正式发布了 v10,用于构建高效和企业级的服务器端应用程序。让我们深入了解一下新版本的新功能。
SWC 代表 Speedy Web Compiler。它是一个可扩展的基于 Rust 的平台,可用于编译和捆绑。为了加快您的开发过程,将SWC与NestJs CLI一起使用是一个很好的方法。
所需软件包的安装如下:
$ npm install --save-dev @swc/cli @swc/core
您现在可以将SWC与NestJs CLI一起使用,如下所示:
$ nest start -b swc
# or
$ nest start --builder swc
默认情况下使用 SWC 的另一种方法是通过 nest-cli.json 文件,如下所述:
{
"compilerOptions": {
"builder": "swc"
}
}
默认情况下,SWC 本身不执行任何类型检查,因此要启用此选项,我们需要使用 --type-check flag,如下所述:
$ nest start -b swc --type-check
# or
$ nest start --builder swc --type-check
SWC 比默认的 TypeScript 编译器快大约 20 倍。
添加了对 Redis 通配符订阅的支持。此功能允许订阅与给定模式匹配的所有消息。
要开始使用基于 Redis 的微服务,请按如下所示安装所需的包:
$ npm install ioredis
默认情况下,通配符订阅是 false
, 启用通配符订阅
const app = await NestFactory.createMicroservice(AppModule, {
transport: Transport.REDIS,
options: {
host: 'localhost',
port: 6379,
wildcard: true, // this is the new option available
},
});
启用通配符后,我们可以在订阅中使用 glob 类型模式,例如:
ne?tjs
订阅 nestjs
, nextjs
和 nuxtjs
ne*tjs
订阅 netjs
和 neetjs
除了新的变化,NestJS 的最新 v10 也有一些改进。
缓存是提高应用性能的一种伟大而简单的技术。
现在 CacheModule
可作为独立包 @nestjs/cache-manager
提供。早些时候,此软件包在 @nestjs/common
中
要安装所需的软件包,请执行以下操作:
$ npm install @nestjs/cache-manager cache-manager
v10 中引入了测试中模块的覆盖。当您想要一次模拟整个模块而不是单独模拟每个提供程序时,此功能非常有用。
NestJS CLI 插件现在需要 TypeScript >= v4.8。这是由于 TypeScript v4.8 中的重大更改。
由于 Node.js v12 进入生命周期结束 (EOL),要使用 NestJS v10 的新功能,需要 Node.js v16 或更高版本的最低版本。
这也允许 NestJS 包默认编译为 ES2021,从而减小库大小并提高性能。
要将现有的 NestJS 项目迁移到最新版本,请点击以下链接:
与旧版本相比,NestJS v10带来了许多令人兴奋和改进的新功能。如果您在项目中使用 NestJS,请通过评论分享。