AdonisJS 教程:终极指南 (2023)
Source: Dev.to

本教程从零开始到高级水平,全面覆盖 AdonisJS 5,指导你构建并部署你的第一个 AdonisJS 应用。
第 1 章:完整的 AdonisJS 概览
什么是 AdonisJS?
AdonisJS 是一个专注于开发者体验、稳定性和速度的 Node.js 框架。它遵循 Laravel、Rails、Spring 等框架使用的 MVC 模式,使来自这些生态系统的开发者感到熟悉。作为全栈 Web 框架,AdonisJS 包含了许多内置功能和插件,使其区别于其他 Node.js 框架。
AdonisJS 的特性
-
数据库
- 强大的 ORM(Lucid)以及查询构建器、迁移、种子和工厂。
- SQL 优先设计: 完全支持 MySQL、PostgreSQL、MSSQL 等主流 SQL 服务器。
- Active Record ORM: 受 Laravel Eloquent 和 Rails Active Record 启发,提供简洁的 API 来处理复杂查询和关联。
-
HTTP
- 高级路由系统,支持路由分组、子域、模式匹配和资源路由。
- 表单验证器: 运行时请求验证并具备 TypeScript 类型推断。
- JSON 序列化器: 内置对 JSON:API 规范的支持。
-
安全
- 内置 CSRF 防护、XSS、防点击劫持和脚本注入防御。
- 可配置的 CORS 设置,用于控制跨域请求。
-
认证
- 多驱动认证(会话、opaque token、基本认证)。
- 内置 RBAC(基于角色的访问控制)用于授权。
- 健康检查: 用于监控应用健康的端点,可为 Kubernetes 等平台进行配置。
为什么要学习 AdonisJS
- 熟悉度: 与 Laravel、Rails 共享约定,帮助这些框架的开发者平滑迁移。
- 快速开发: 强调 ergonomics 与生产力,让你能够快速构建应用。
- 全栈能力: 提供一体化系统,减少在不同库之间编写胶水代码的需求。
- TypeScript 优先: 提供一流的 TypeScript 支持,同时兼容普通 JavaScript。
AdonisJS 框架 vs 其他框架
AdonisJS 可以与 NestJS、Express、Koa 等框架进行比较。Adonis Mastery 的 Chimezie Enyinnaya 制作的精彩视频展示了 AdonisJS 相较于这些替代方案的优势。
想要更深入学习,可参考课程 Learn AdonisJS: From Zero to Deploy,该课程手把手教你从零构建可投入生产的应用。
第 2 章:AdonisJS 框架
探索框架
本章审视 AdonisJS 的结构、它与各组件的交互方式,以及初学者该如何入门。与 Laravel 类似,AdonisJS 采用 MVC 架构模式,这一点在诸如 Laravel Framework: The Ultimate Guide 与 Wikipedia 上的 MVC 条目 等资源中都有详细说明。
AdonisJS 是一个完整的 Web 框架,配备了处理 HTTP 请求、路由、验证、认证等功能的工具链,为构建现代 Web 应用提供了统一的开发环境。