第 3 章 · 第一棒:服务端渲染 章节摘要:接力赛正式鸣枪。本章盯住服务器这一棒:一次 SSR 请求从浏览器发出到返回 HTML,Nuxt 在服务端经历了哪些阶段;生命周期钩子挂在哪些节点上能让你插入自定义逻辑;数据获取为什么必须用 useAsyncData 系列而不是裸 fetch;以及 SSG、ISR、混合渲染如何改变第一棒的跑法。读完本章,"页面是怎么变成 HTML 的"这件事对你应该不再有黑箱。 本章接力任务 阅读完本章,你应当能够: 按顺序说出一次 SSR 请求在服务端的执行阶段:中间件、插件、setup 执行、渲染成 HTML、payload 注入;
章节摘要:接力赛正式鸣枪。本章盯住服务器这一棒:一次 SSR 请求从浏览器发出到返回 HTML,Nuxt 在服务端经历了哪些阶段;生命周期钩子挂在哪些节点上能让你插入自定义逻辑;数据获取为什么必须用 useAsyncData 系列而不是裸 fetch;以及 SSG、ISR、混合渲染如何改变第一棒的跑法。读完本章,"页面是怎么变成 HTML 的"这件事对你应该不再有黑箱。
阅读完本章,你应当能够:
.server 与 .client 修饰符怎么用;一句话点题:第一棒的目标是让浏览器拿到的第一份响应里就有可读的内容,而水合所需的交接物资(payload)也在这份响应里一并交付。
拆开服务端这一棒的内部动作:从请求进来到 HTML 出去的八步管线(配全景图),钩子能挂哪些节点,setup 在两端各执行几次、.server 与 .client 修饰符怎么用。3.2 的取数时机、5.2 的中间件位置、6.2 的服务端拦截,全都以这节的管线图为坐标系——值得多读一遍。
数据获取的第一棒专属工具。为什么服务端取数不能用裸 fetch,去重与序列化怎么工作,选项怎么配——这是全册被引用频率最高的一节。
第一棒的变奏:把渲染提前到构建期(SSG)、缓存后定时再生(ISR/SWR)、按路由逐页配模式(routeRules),把 1.2 的选型表落成配置。
三节从"一次请求怎么跑"到"数据怎么等"再到"整个站点怎么排棒",粒度从微观到宏观。
3.1 请求管线 ──► 3.2 管线中的取数 ──► 3.3 整站的棒次编排 (单次视角) (数据视角) (站点视角) │ │ └─ setup 执行次数 └─ payload 序列化 是水合问题的根 直接通向第4章交接区
3.2 结尾提到的 payload,正是第 4 章水合的输入;3.3 的 routeRules 为第 9 章按路由选择部署形态提供依据。