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