Vite 如何处理服务端渲染 (SSR)?

· 约 4 分钟读完 · 第 60 / 60 章

推荐答案

Vite 通过其内置的 SSR 支持来处理服务端渲染 (SSR)。具体来说,Vite 提供了一个 vite/ssr 模块,允许开发者在服务器端渲染 Vue 或 React 应用。以下是处理 SSR 的关键步骤:

  1. 创建 SSR 入口文件:首先,你需要创建一个专门用于 SSR 的入口文件。这个文件通常会导出一个函数,该函数接收请求对象并返回渲染后的 HTML 字符串。

  2. 配置 Vite 构建:在 vite.config.js 中,你可以通过配置 ssr 选项来指定 SSR 的入口文件和其他相关配置。

  3. 服务器端渲染:在服务器端,使用 vite/ssr 模块来渲染应用。Vite 会处理模块的加载和依赖解析,确保在服务器端正确渲染应用。

  4. 客户端激活:在客户端,Vite 会自动处理客户端激活(hydration),确保客户端 JavaScript 能够接管服务器端渲染的 HTML。

本题详细解读

1. 创建 SSR 入口文件

SSR 入口文件通常是一个 JavaScript 文件,它导出一个异步函数。这个函数接收请求对象(如 req 和 res),并返回渲染后的 HTML 字符串。例如:

2. 配置 Vite 构建

在 vite.config.js 中,你可以通过 ssr 选项来配置 SSR 的入口文件。例如:

3. 服务器端渲染

在服务器端,你可以使用 vite/ssr 模块来渲染应用。以下是一个简单的 Express 服务器示例:

4. 客户端激活

Vite 会自动处理客户端激活(hydration)。你只需要在客户端入口文件中导入应用并挂载到 DOM 上:

在 HTML 模板中,确保包含客户端入口文件的脚本标签:

通过以上步骤,Vite 能够有效地处理服务端渲染 (SSR),并确保客户端和服务器端的无缝衔接。