Next.js教程| 青训营笔记

99 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第6天

课程目标

具备C端Web应用开发的基本能力

CSR,SSR,SSG

CSR

CSR是指客户端渲染(Client-Side Rendering)。常见B端WEB应用开发模式,前后端分离,服务器压力相对较轻,渲染工作在客户端进行,服务器直接返回不加工的HTML用户在后续访问操作.

SSR

SSR是服务端渲染(Server-Side Rendering)。从原先的JSP/PHP就已经体现了服务端渲染。 特点:

  • 代码耦合度高,且模板语言中混杂编程语言对于一些复杂的功能,维护起来十分麻烦。
  • 这种模式下Java,PHP负责渲染的逻辑,而前端只负责UI和交互。

同构SSR(BFF)

BFF: Backend For Frontend,服务于前端应用的后端。 特点:

  • 前后端一体化,一套React代码在服务器端和客户端都要运行一遍。
  • 前后端都参与渲染,而且首次渲染出的HTML要一样。

SSG

SSG:静态站点生成(Static Site Generation),在构建的时候直接把结果页面输出html到磁盘,每次访问直接把html返回给客户端,相当于一个静态资源。

CDN:建立并覆盖在Internet之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。 优点:

  • 相较于SSR,不需要每次请求都有服务器处理所以可以大幅减轻服务器端的压力。 缺点:
  • 只能用于偏静态的页面,无法生成与用户相关的内容,也就是说所有用户访问的页面都是相同的

SSR,SSG的优势

  • 利于SEO
  • 更短的首屏时间:只需要请求一个HTML文件就能展示出页面,无需请求大量的js文件。

什么是Next.js

SSR的实现

SSR的实现基于React提供的相关服务端渲染API实现,过程比较繁琐重复,对新手不友好,所以我们需要一个分装好的集合来快速上手服务器端渲染。为此,我们将学习Next.js

Next.js

Next.js是一个构建在node.js之上的开源Web开发框架,支持基于React的Web应用程序功能,例如服务端渲染生成静态网页

它上手快,功能齐全,而且覆盖了足够多的性能优化和生态。通过Next.js,新人能较为轻松地掌握前后端一体化的开发模式。