全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-23 6 分钟 ✍️ juanwangdev

SSR 模式原理

服务端渲染(SSR)在服务器生成 HTML 内容,客户端加载后接管交互。

SSR 基本原理

JavaScript
请求 → 服务器渲染 HTML → 返回完整页面 → 客户端注水

Vite SSR 特点

特点说明
模块图分离客户端和服务端独立模块图
按需编译服务端只编译需要的模块
源码模式服务端使用源码而非构建产物

SSR 构建流程

JavaScript
// 服务端入口
import { renderToString } from 'vue/server-renderer'
import App from './App.vue'

export async function render(url) {
  const app = createSSRApp(App)
  const html = await renderToString(app)
  return html
}

注意:SSR 需要服务端运行环境(Node.js)。

客户端与服务端对比

对比项客户端服务端
运行环境浏览器Node.js
模块格式ESMESM
渲染方式DOM 操作字符串输出
生命周期完整仅渲染

SSR 优势

  • SEO 友好:搜索引擎可抓取完整内容
  • 首屏快速:直接返回渲染好的 HTML
  • 性能优化:减少客户端渲染负担

客户端注水

JavaScript
// 客户端入口
import { createSSRApp } from 'vue'
import App from './App.vue'

const app = createSSRApp(App)
app.mount('#app')

注水过程:客户端接管服务端渲染的静态 HTML,绑定交互逻辑。

Vite SSR 配置

text
export default defineConfig({
  // SSR 特定配置
  ssr: {
    noExternal: ['vue-router']  // 不外部化的依赖
  }
})

要点总结

  • SSR 服务端生成静态 HTML
  • 客户端注水接管交互
  • 模块图分离客户端和服务端
  • 服务端使用源码按需编译

📝 发现内容有误?点击此处直接编辑

← 上一篇 SSR 框架集成概述
下一篇 → SSG 与 SSR 的选择
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库