Vite SSR 概览

说明 Vite 在 SSR 中作为模块转换与开发中间件的角色,以及与元框架的边界。

#type / concept #status / growing #tech / dev / frontend #resource / javascript

[!info] 关联笔记

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 当基础设施层,不要误当成完整全栈框架。

自测题

  1. 为什么 SSR 代码不能假设一定有 DOM?
参考答案

服务端执行环境是 Node(或同类),没有浏览器 DOM;访问会抛错或行为未定义。

创建于 2026/7/15 更新于 2026/7/15