NestJS 12:ESM 包、标准模式验证和原生可观测性
2026-11-02 14:03:01 来源:技王数据恢复

InfoQ 中文 IT 资讯报道,NestJS 框架于 2026 年 10 月 30 日发布 12 版本。该大版本将核心包迁移至 ESM 格式,新增 Standard Schema 验证功能,重构了 CLI 工具,并推出了官方可观测性 SDK。 www.sosit.com.cn
核心变更与特性
- ESM 迁移与兼容性:核心包以 ESM 格式发布,但通过 Node.js 对 require(esm) 的支持实现了向后兼容,允许 CommonJS 应用程序继续运行。升级门槛要求 Node.js 版本为 20.19+ 或 22.12+。
- Standard Schema 验证:Standard Schema 成为验证的一等公民,支持 Zod、Valibot 和 ArkType 等库直接作为 schema 选项使用,无需第三方封装。
- CLI 重构:CLI 默认支持 CJS/ESM 项目选择,打包器由 webpack 替换为 Rspack。运行 nest new 时会询问生成 CJS 还是 ESM 项目。
- 官方可观测性 SDK:新增 @nestjs/observe 官方可观测性 SDK,通过 instrument 选项挂接至 Nest 自身生命周期,以控制器和提供者为单位报告跟踪信息。
- 其他变更:升级操作需运行 nest upgrade 命令,会将所有 @nestjs/* 包升级至 v12,TypeScript 升级至 v6,并将 GraphQL Playground 切换为 GraphiQL。新增 nest deploy 命令转发至 Mau 平台。
性能与已知问题
开发者 Anton Chapala 在预览版基准测试中发现,ESM 在启动速度或内存占用方面并未带来显著的提升,该版本主要被视为对工具链和配置债务的大规模清理。此外,存在已知问题:AWS Lambda 运行时需要 --experimental-require-module 参数,ESM 环境下路径别名无法正常工作,Fastify 中间件会异常卡死。v12.1 版本已新增内置的 Cookie、CSRF 保护和安全响应头。 www.sosit.com.cn

技术审核:邓严军|技王数据恢复实验室技术总监 技王数据恢复