Skip to content

M5详细设计:SSR 数据流与水合边界

这份设计文档说明 M5 第一轮案例为什么选择 SSR / hydration,以及它将如何接入现有文档体系。

设计目标

把 SSR 示例里最关键的数据流问题,抽象成与现有案例兼容的一篇方法型案例。

为什么优先选 SSR

在当前里程碑规划里,M5 的候选方向包括:

  • 更多 Nuxt / Vue 3 场景
  • 状态管理场景
  • SSR / hydration 场景
  • 动画与复杂交互场景

其中 SSR 最适合作为第一条扩展线,因为它和前面 6 篇案例形成互补:

  • 前 6 篇更偏客户端状态与组件边界
  • SSR 案例补的是“运行时边界”和“同构数据流”

这会让方法库从客户端重构,扩展到服务端与客户端协作重构。

本轮案例的复杂度中心

本轮不以某个单一组件为核心,而是以整条数据流为核心。

复杂度中心包括:

  • 请求级应用创建
  • 路由匹配后的组件级预取
  • 初始状态序列化
  • 客户端接管后的增量预取
  • 页面组件的数据依赖声明

与现有框架的映射关系

本轮案例接入现有统一框架时,重点映射到下面几个步骤:

  • 第三步:先稳定模型,再拆组件
  • 第四步:判断状态应该放在页面、组件还是 composable
  • 第六步:显式数据流优先,隐式通信后退
  • 第七步:把副作用和派生状态分开

也就是说,这篇案例并不是脱离原框架的补充,而是对“跨运行时数据流”这一块的延展。

交付物设计

本轮预期交付物包括:

  • 新案例:../SSR数据预取与水合重构.md
  • 新任务拆解:04-M5任务拆解-SSR与水合场景.md
  • 新详细设计:05-M5详细设计-SSR数据流与水合边界.md
  • 新开发记录:06-开发记录-SSR与水合文档化重构.md

设计约束

本轮依然遵循此前的项目约束:

  • 不直接修改独立 demo 子项目源码
  • 只把核心逻辑和方法提炼进文档
  • 每次新增案例都要同步更新入口与方法层

接入后的预期效果

完成后,当前方法库将具备:

  • 客户端页面重构案例
  • 基础组件重构案例
  • SSR / hydration 数据流重构案例

这样后续如果继续扩展 Nuxt、SSR 或数据预取类主题,就会有一个稳定挂载点。

共 20 个模块,1301 篇 Markdown 文档。