NestJS 11 发布啦!Node.js 开发迎来新变革

157 阅读3分钟

Hey,Node.js 的小伙伴们,是不是还在为项目性能和扩展性发愁?别担心,NestJS 11 正式发布啦,这可是 Node.js 开发领域的一次重大更新,绝对能给你带来惊喜!

一、日志功能大升级

NestJS 11 的日志功能可以说是焕然一新。

默认日志器 ConsoleLogger 现在支持 JSON 格式输出,这对于容器化环境来说简直是福音。你只需要简单配置一下,就能让日志以 JSON 格式输出,方便后续的解析和分析。

而且,如果你在本地开发,还可以通过设置 colors 选项为 true,让日志颜色更醒目,阅读起来更轻松。

图片

二、微服务更灵活

在 NestJS 11 中,微服务的灵活性得到了极大的提升。所有官方支持的微服务传输器(如 NATS、Kafka、Redis 等)都进行了显著改进。新增的 unwrap 方法让你可以直接访问底层客户端实例,执行一些超出标准 NestJS API 的自定义操作。

此外,on 方法可以监听底层客户端发出的内部事件,而 status 可观察流则能实时更新客户端实例的状态,让你对微服务的控制更加得心应手。

三、应用启动更快

NestJS 11 对模块不透明键生成过程进行了重新设计,大大提高了应用的启动时间。

之前版本中,框架使用哈希函数通过序列化元数据来生成不透明键,虽然能启用一些内部优化,但增加了不必要的复杂性和性能开销。

现在,框架采用更直接的方法,使用对象引用而不是对整个模块元数据进行哈希来生成不透明键,让应用启动更加迅速。

四、支持 Express v5 和 Fastify v5

NestJS 11 现在支持 Express 和 Fastify 的最新版本。

虽然升级到 Fastify v5 对大多数用户来说比较顺利,但升级到 Express v5 可能需要一些调整。

Express v5 修改了路径路由匹配算法,例如通配符 * 必须有名称,不再支持可选字符 ? 等。不过,只要按照新的规则调整路由,就能轻松适配 Express v5。

五、其他更新

除了上述亮点,NestJS 11 还有许多其他有价值的更新。

例如,终止生命周期钩子的顺序被反转,CacheModule 更新为使用最新版本的 cache-manager,新增了 ParseDatePipe 等。这些更新都让 NestJS 11 更加强大和易用。

六、迁移指南

如果你正在使用 NestJS v10,不用担心,官方提供了详细的迁移指南,帮助你顺利过渡到 NestJS 11。按照指南中的步骤,解决所有必要的更改和更新,就能让你的项目享受到 NestJS 11 带来的新特性。

总之,NestJS 11 的发布为 Node.js 开发带来了诸多便利和提升。无论是日志功能的增强、微服务的灵活性提升,还是应用启动速度的加快,都让开发变得更加高效和愉悦。赶紧去试试 NestJS 11 吧,相信它会给你带来不一样的开发体验!

 

来源 | ht t ps://trilon.io/blog/announcing-nestjs-11-whats-new图片