AdonisJS v7 推出端到端类型安全、经过重构的项目模板以及零配置 OpenTelemetry

小新 正四品 (知府) 2026-05-17 17:02 12 0 返回 AI 动态
小新 正四品 (知府) 楼主
2026-05-17 17:02
第1楼

摘要:AdonisJS 与 NestJS 和 Laravel 等框架所处的领域相似,其不同之处在于特点鲜明的开发理念(遵循“约定优于配置”原则),以及对 TypeScript 的原生支持。NestJS 倾向于采用 Angular 风格的依赖注入和装饰器,而 AdonisJS 则更多地借鉴了 Laravel 的传统,提供了一个涵盖路由、ORM、身份验证、数据验证和邮件处理的完整工具包,并将这些功能整合在一个统一的框架之下。它深受 Laravel 传统的影响,提供了一个遵循“约定优于配置”原则的统一工具集,涵盖路由、ORM(Lucid)、身份验证、数据验证、邮件处理和模板引擎等功能,并全程支持 TypeScript。


由 Harminder Virk 维护的 AdonisJS"(一款“开箱即用的 Node.js 框架)发布 7.0 版本",其核心亮点是端到端类型安全,此外还包含经过重构的项目模板、零配置可观测性,以及全新改版的文档网站。

该版本更新了超过 45 个包,并新引入了三个包:用于 OpenTelemetry 集成的 @adonisjs/otel、用于类型化内容集合的 @adonisjs/content,以及用于在 Edge 模板中使用组件语法渲染 Markdown 的 edge-markdown。

v7 的核心是一套通过代码生成贯穿整个应用技术栈的类型系统。路由定义会生成 TypeScript 类型,供新的 urlFor 辅助函数使用,从而取代了 v6 中未声明类型的 router.makeUrl 方法。Transformer 提供了一个专用的序列化层,可以在构建时生成 .d.ts 文件,使前端代码能够通过类型安全的方式访问 API 响应结构,而且无需手动复制代码。对于 Inertia 应用程序,框架会扫描页面组件,确保 inertia.render 在编译时传递了正确的 props。由 Tuyau 驱动的类型安全 API 客户端将同样的保障扩展至使用 TanStack Query 或plain fetch 的独立前端项目。

v7 依赖 Node.js 24 及以上版本,这使得团队能够用原生平台 API 替代第三方依赖。dotenv 包已经被 Node 内置的 util.parseEnv 所取代。同时,一个新引入的内部 JIT TypeScript 编译器 ts-exec(以基于 Rust 的 SWC 编译器为基础构建,大小约为 15 KB)取代了用于开发的 ts-node。

项目模板经过全面重构。与以往通过一系列配置问题引导开发人员不同,v7 提供了四个预设方案(Hypermedia、API、React 和 Vue)。这些模板都是开箱即用的,其中已经包含身份验证流程、会话管理以及前端工具链。该框架还引入了针对控制器、事件和策略的批量文件生成功能,消除了此前在路由文件顶部堆积如山的懒加载导入语句。

社区反响非常积极。在 LinkedIn" 上,一位开发人员这样评价 v7:

当前 TypeScript 优先后端开发的“最佳平衡点(Sweet Spot)”

他还补充说:

如果你来自 Laravel 阵营,或者只是厌倦了在 Express/NestJS 中拼凑 20 多个包,AdonisJS 将为你带来“开箱即用的魔法”。

Reddit" 上的一位新用户分享了使用该框架启动一个项目有多快,并补充说他们对迁移到 v7 版本有些担心。

我也意识到,我启动这个项目的时间可能正好在 v7 发布之前,所以如果我想要进行迁移的话,希望过程不会太麻烦。

库作者 Harminder Virk 直接做了回复:

很高兴听到你喜欢 AdonisJS。从 v6 升级到 v7 会非常顺利,因为几乎没有任何破坏性变更。可能只需要 15 到 20 分钟。

AdonisJS 与 NestJS 和 Laravel 等框架所处的领域相似,其不同之处在于特点鲜明的开发理念(遵循“约定优于配置”原则),以及对 TypeScript 的原生支持。NestJS 倾向于采用 Angular 风格的依赖注入和装饰器,而 AdonisJS 则更多地借鉴了 Laravel 的传统,提供了一个涵盖路由、ORM、身份验证、数据验证和邮件处理的完整工具包,并将这些功能整合在一个统一的框架之下。

对于从 v6 版本升级的团队,这些破坏性变更主要属于技术层面的调整,包括重新命名的导入项、经过更新的配置文件以及一个新的加密模块。AdonisJS 团队预计,大多数应用程序可以在 30 分钟至 1 小时内完成迁移。他们提供了详细的升级指南"以及专门的 GitHub 讨论帖"供用户报告问题。

AdonisJS 是一个由 Harminder Virk 创建并维护的、功能完备的开源 Node.js Web 框架。它深受 Laravel 传统的影响,提供了一个遵循“约定优于配置”原则的统一工具集,涵盖路由、ORM(Lucid)、身份验证、数据验证、邮件处理和模板引擎等功能,并全程支持 TypeScript。

原文链接:https://www.infoq.com/news/2026/05/adonis-v7-opentelemetry/"

暂无回复,快来抢沙发吧!

  • 1 / 1 页
敬请注意:文中内容观点和各种评论不代表本网立场!若有违规侵权,请联系我们