一、核型概念
1. 环境差异
Node.js: 传统服务端渲染(有完整的 Node API)Edge Runtime: 轻量级边缘计算环境(如 Vercel Edge、 cloudflare Workers)- Bun : 新兴 JS 运行时
Browser: 客户端浏览器环境React Server Components(RSC): React 服务端组件专用环境
2. 渲染模式
- SSR(Server-Side Rendering) : 动态服务端渲染(server 标识)
- SSG(Static Site Generation) : 静态生成(static 标识)
- RSC(React Server Components) : 服务端组件流式渲染
二、优点
| 分类 | 目的 |
|---|---|
| 多环境 | 兼容 Node.js/Edge/Bun/Browser 等运行时 |
| 多模式 | 分离 SSR/SSG/RSC 的渲染逻辑 |
| 性能 | 精简客户端 bundle ,避免冗余代码 |
| 扩展性 | 便于支持新运行时或渲染策略 |
- 环境适配 :
- Edge Runtime/Bun 不支持 Node.js API (如 Buffer) ,需定制实现
- 浏览器环境需避免使用 Node.js 依赖
- 性能优化 :
- 按需加载: 避免向客户端发送服务器专用代码
- Tree SHaking: 打包工具可剔除未使用的环境代码
- 渲染模式隔离 :
- SSR 需要处理流式传输、水合(hydration)
- SSG 需预渲染静态 HTML
- RSC 需支持组件级流式渲染和共享状态