Vite SSR 概览
说明 Vite 在 SSR 中作为模块转换与开发中间件的角色,以及与元框架的边界。
#type / concept
#status / growing
#tech / dev / frontend
#resource / javascript
[!info] 关联笔记
- 所属:插件与 SSR MOC
- 相邻:React SSR/RSC · Hydration · 双路径
Vite SSR 概览
这个概念为什么出现
SSR 需要在 Node 中加载与浏览器共享的模块图。开发期若无统一转换,会出现“浏览器能 import,服务器不能”的分裂。Vite 提供 middleware 模式与 ssrLoadModule 等能力。
[!abstract] 一句话理解 Vite SSR 解决的是模块转换与开发集成;路由、数据、部署整体通常由上层框架补齐。
能力边界
- dev:
middlewareMode接入自有 Node 服务器 - 转换:服务端可加载/转换前端模块
- 生产:另有 SSR 构建与清单,不等于
vite build默认 CSR 产物
工程注意
- 双端分支:
window/document不可在服务端碰 - 状态串用与内存泄漏(服务器单例)
- 多数业务优先 Next/Nuxt/Remix 等,而不是从零自建
本节总结
把 Vite SSR 当基础设施层,不要误当成完整全栈框架。
自测题
- 为什么 SSR 代码不能假设一定有 DOM?
参考答案
服务端执行环境是 Node(或同类),没有浏览器 DOM;访问会抛错或行为未定义。