视图与模板
AdonisJS 非常适合在 Node.js 中创建传统的服务端渲染应用。如果你喜欢使用一个后端模板引擎来输出 HTML,而无需任何虚拟 DOM 和构建工具的开销,那么本指南就是为你准备的。
AdonisJS 中服务端渲染应用的典型工作流如下。
- 选择一个模板引擎来动态渲染 HTML。
- 使用 Vite 打包 CSS 和前端 JavaScript。
- 可选地,你可以选择像 HTMX 或 Unpoly 这样的库来逐步增强你的应用,并像 SPA 一样进行导航。
AdonisJS 核心团队创建了一个与框架无关的模板引擎,名为 Edge.js,但并不会强制你使用它。你可以在 AdonisJS 应用中使用任何你喜欢的其他模板引擎。
流行选项
以下是你可以在 AdonisJS 应用中使用的流行模板引擎列表(就像任何其他 Node.js 应用一样)。
- EdgeJS 是由 AdonisJS 核心团队为 Node.js 创建并维护的一个简单、现代且功能完备(batteries included)的模板引擎。
- Pug 是一个深受 Haml 影响的模板引擎。
- Nunjucks 是一个受 Jinja2 启发的、功能丰富的模板引擎。
混合应用
AdonisJS 也非常适合创建混合应用:在服务器上渲染 HTML,然后在客户端对 JavaScript 进行水合(hydrate)。这种方法在希望使用 Vue、React、Svelte、Solid 或其他框架来构建交互式用户界面,但仍希望拥有完整的后端栈来处理服务端相关问题的开发者中很受欢迎。
在这种情况下,AdonisJS 对使用 InertiaJS 提供了一流的支持,以弥合前端和后端之间的差距。