Vue.js 中如何使用 Nuxt.js 实现 SSR

阅读时长 4 分钟读完

什么是 SSR

SSR 即服务端渲染,它的基本工作流程是将 Vue 组件同步渲染到服务器,返回给客户端一个已经渲染好的 HTML 页面。相较于传统的 CSR(客户端渲染)模式,SSR 可以带来更好的首屏渲染速度和 SEO 优化。

Nuxt.js 简介

Nuxt.js 是一个开源的基于 Vue.js 的 SSR 框架,具有简单易用、扩展性强、开箱即用等特点。它提供了一系列可以自定义的配置和约定,开发者可以使用预设的目录结构和命名规则来规范化项目代码组织。

如何使用 Nuxt.js 实现 SSR

首先需要安装 Nuxt.js:在终端中执行 npm i nuxt

创建 Nuxt.js 项目

在终端中执行 npx create-nuxt-app <project-name> 来创建一个新的 Nuxt.js 项目,项目目录结构如下:

-- -------------------- ---- -------
--- ----- -- ------- -------------------
--- ------ -- ------------------
--- ---------- -- -- ------ --
--- ------- -- ---------
--- ---------- -- -----
--- ----- -- -- ------ -----
--- ------- -- ----
--- ------ -- ----------- -------
--- ----- -- -- ---- ---------
--- --------- 
--- -------------- -- -- ------- -----
--- -----------------
--- ------------

使用 Nuxt.js 提供的模板和组件库

Nuxt.js 提供了模板和一些组件库可以使用,例如 Vuetify 和 Bootstrap。通过在 nuxt.config.js 配置文件中添加对应的模块名即可使用。例如:

-- -------------------- ---- -------
-------------- - -
  -------- -
    -- -- -------
    ------------------
    -- -- --------- ---
    --------------------
  --
  -------- -
    -- ------ ------- --
  --
  ------------- -
    -- ------ ------- --
  --
-

自定义路由

Nuxt.js 提供了自定义路由的配置,配置在 nuxt.config.js 文件中:

-- -------------------- ---- -------
-------------- - -
  -- -----
  ------- -
    -------------------- -------- -
      -------------
        ----- ---------
        ----- ----------
        ---------- ------------------ -------------------
      --
    -
  -
-

后端 API

在使用 SSR 的时候,Nuxt.js 需要通过后端 API 获取数据,从而构建 HTML 页面。如何访问后端 API 常见的有两种方式:

1.使用 Node.js 的 http 模块来发送 HTTP 请求,使用 res.write() 方法向前端推送数据。

2.使用开源的 HTTP 客户端 axios 来发送请求。

预渲染

由于 SSR 在处理后端渲染时,体验依赖于服务端的性能,如果在高并发场景下,或者某些路由对性能要求较高的情况下,可以通过预渲染的方式进行优化。预渲染的过程在构建时进行,将预渲染好的内容存储到已编译资源的目录中,当客户端在访问页面时,直接将预渲染好的内容展示出来,从而减轻了服务端的压力。

预渲染只需要在 nuxt.config.js 中添加以下配置:

-- -------------------- ---- -------
-------------- - -
  -- ----------
  --------- -
    ------- -
      ---------
      ---------
      --------
    -
  -
-

总结

本文介绍了如何使用 Nuxt.js 实现 Vue.js 的 SSR,包括创建 Nuxt.js 项目、使用 Nuxt.js 提供的模板和组件库、自定义路由、后端 API 和预渲染。通过阅读本文,您能够更好地理解 SSR 的意义和优势,并掌握使用 Nuxt.js 实现 SSR 的技巧。

附上示例代码:https://github.com/muyuuuu/vue-nuxt-ssr

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65aadc20add4f0e0ff470fac

纠错
反馈