跳到主要内容
返回知识库
前端架构#Angular#SSR#SSG#Hydration

Angular 渲染模式选择指南

比较客户端渲染、服务端渲染与预渲染的适用边界,并记录静态托管时的选择原则。

2026年7月20日 2 分钟阅读

Angular 可以按路由选择渲染方式。判断依据不是“哪种模式更新”,而是页面数据何时可用、是否因用户而异,以及部署平台能否执行服务端代码。

模式 HTML 生成时机 适用场景 主要约束
客户端渲染 浏览器运行时 登录后的高交互工具 首屏依赖 JavaScript
服务端渲染 每次请求 实时且公开的数据页 需要服务端运行环境
预渲染 构建时 博客、文档、作品集 数据必须在构建时可得
import { RenderMode, type ServerRoute } from '@angular/ssr';

export const serverRoutes: ServerRoute[] = [
  { path: '', renderMode: RenderMode.Prerender },
  { path: 'blog/**', renderMode: RenderMode.Prerender },
  { path: 'account', renderMode: RenderMode.Client },
];

Hydration 的作用

SSR 或 SSG 先提供可见 HTML,Hydration 在客户端复用这些 DOM 并接管事件。它不等于重新渲染整页。页面要避免依赖浏览器与服务端不一致的随机值、时间或直接 DOM 操作,否则可能产生内容不匹配。

GitHub Pages 的结论

GitHub Pages 没有请求时服务端进程,所以部署产物必须是静态文件。个人站可以在代码层保留混合渲染配置,但发布到 Pages 的路由应使用预渲染或客户端渲染;公开内容优先预渲染,以便搜索引擎和禁用 JavaScript 的访问者读取正文。