M5-8详细设计:异步加载与占位边界
这份设计文档说明 M5-8 为什么选择异步组件与懒加载场景,以及它将如何接入现有方法库。
设计目标
把异步加载问题从“组件能不能 import()”还原成“加载策略、占位内容、失败恢复与客户端专属边界如何分层”的边界设计问题,并用一篇案例把现代 Vue / Nuxt 项目里更稳的组织方式说清楚。
为什么在 M5-8 选异步组件与懒加载
在当前方法库里,已经补齐了:
- 页面型案例
- 基础组件型案例
- SSR / hydration 运行时边界
- Nuxt 页面数据获取与渲染边界
- 状态管理型案例
- 复杂交互型案例
- 认证与权限型案例
- 路由与布局型案例
- 容错与降级型案例
下一步最自然补的,就是异步组件、延迟加载和占位降级这条横向主线。因为它会同时影响:
- 页面首屏体积与主包压力
- 高风险客户端增强模块的加载时机
- loading / error / timeout 的统一表达
- 页面主体和增强模块之间的可用性边界
所以异步组件与懒加载是一个非常适合作为 M5-8 的横向扩展线。
本轮案例的复杂度中心
本轮复杂度中心主要有四个:
- 哪些模块值得异步化
- loading / error / timeout 的统一协议
- 客户端专属异步模块与普通异步模块的分层
- fallback 与恢复路径的显式化
与现有框架的映射关系
本轮将重点强化统一框架中的这些步骤:
- 第二步:找到真正的复杂度中心
- 第五步:用“容器组件 + 展示组件”重新切边界
- 第六步:显式数据流优先,隐式通信后退
- 第九步:让页面消费层尽量薄
本轮交付物
本轮预期交付物包括:
- 新案例:
../异步组件与懒加载降级重构.md - 新任务拆解:
25-M5-8任务拆解-异步组件与懒加载场景.md - 新详细设计:
26-M5-8详细设计-异步加载与占位边界.md - 新开发记录:
27-开发记录-异步组件与懒加载降级重构.md
设计约束
本轮继续遵循当前项目约束:
- 不直接修改独立 demo 源码
- 只提炼核心逻辑与方法进入文档
- 每轮新增案例都要同步更新入口、导航和总框架
完成后的预期效果
完成后,当前方法库将会同时覆盖:
- 页面型重构
- 基础组件型重构
- 运行时边界型重构
- 框架场景型重构
- 状态管理型重构
- 复杂交互型重构
- 认证与权限型重构
- 路由与布局型重构
- 容错与降级型重构
- 异步加载型重构
这会让整套方法库从“案例集合”,继续长成一张更完整的 Vue / Nuxt 架构重构地图。
