Skip to content

Nuxt3 首屏加载

SSR

SSR(Server-Side Rendering,服务器端渲染)是一种前端开发技术,它指的是在服务器端生成完整的 HTML 页面,并将其发送给客户端展示

与传统的客户端渲染(Client-Side Rendering,CSR)相比,SSR 的主要区别在于页面的初始渲染是在服务器上完成的,而不是在客户端的浏览器中通过 JavaScript 完成的

在 SSR 中,当用户请求一个页面时,服务器会执行与该页面相关的 JavaScript 代码,并生成页面的 HTML 内容

然后,服务器将完整的 HTML 页面发送给客户端浏览器,浏览器收到后直接展示

与此同时,客户端浏览器加载页面所需的 JavaScript 和 CSS 资源,以便在后续的页面交互中使用

首屏加载

在 Version 1 的版本中我们提到过,虽然我们的 lighthouse 测试是满分的性能,但是实际上,这是由于我们在 index.html 中加了一个加载进度条

原来的项目是纯 CSR,因此首屏加载速度极慢,真实水平大概只能拿到 56 分

然而,我们 Version 2 的 Nuxt3 项目是 SSR 的,其 lighthouse 测试的满分是货真价实的,这会极大的影响网站的性能,尤其体现在首屏加载上

我们在前面的文档中,陆陆续续的介绍了 SSR 的好处,以及我们为什么使用 Nuxt 进行开发

更好的 SEO

由于搜索引擎能够直接获取完整的 HTML 页面内容,因此对于搜索引擎爬虫来说更易于索引,有利于网站的搜索排名。

更快的内容到达时间

用户在客户端接收到完整的 HTML 页面后,可以更快地看到页面内容,尤其是在低网络速度或高延迟的情况下

更好的首次加载性能

因为页面的初始渲染是在服务器端完成的,所以用户在浏览器中第一次加载页面时,可以直接看到完整的页面内容,而无需等待客户端 JavaScript 的下载和执行

我们觉得,对于论坛系统来说,这么做是值得的

不过,SSR 会给开发带来一定的困扰,幸运的是,大部分都可以被 Nuxt3 解决