Next.js学习|青训营笔记

99 阅读3分钟

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

一、本堂课重点内容:

64bd9e2776f36faa1ef2f43e6f9100e.jpg 二、详细知识点介绍:

  • 应用

    Next.js用于开发C端应用

    B端应用与C端应用

     B端应用一般放于内网使用
     
     C端应用一般放于外网使用
    
  • 三种渲染模式

    • CSR

      客户端渲染,常见B端web应用开发模式,前后端分离,后端不负责页面如何渲染,不会对HTML进行加工,渲染工作在客户端进行,服务器端返回给前端的内容中不会包含页面中的任何元素,模板页面中的所有元素是在请求后编译加入

      常用于单页面应用,所需资源在一次请求中加载完成

      缺点:首屏时间更长

    • SSR

      与CSR相对应,是服务端渲染,特点为:代码耦合度高,且模板语言中混杂编程语言以及一些复杂的功能,Java PHP负责渲染的逻辑,前端只负责UI和交互

      缺点:不利于维护,不好应用于大型项目,

      痛点:服务器端的代码与模板页面中的代码混杂在一起

      优化:同构SSR

        同构SSR
        
        服务器端返回给前端的是一整个完整页面(response),其中,API下拉内容是接口项目,page下直接的目录类似react项目中的页面,即一个项目中,node接口服务以及模板页面都在一个项目结构目录下,但是不会维护在一个文件内(前后端一体化的体现),并且前后端都参与渲染
        
        BFF
        
        node服务,作为中介,将下游的请求数据进行拼接汇总,传给上游,提高了大型项目的可维护性与可复用性
      

    SSR最大缺点:服务器端压力较大

    • SSG

      效果与SSR相同,不会每次请求由服务器处理,在构建时将结果从html上传至CDN处,访问路由相当于访问纯静态HTML文件

      优点:大幅度减轻服务器端压力

      缺点:只能用于偏静态页面,无法生成与用户相关的内容,偏展示类型内容

  • SSR与SSG优势

    B端应用多用于内网,由于模板页面中的所有元素是在请求后编译加入,所以搜索内容关键词起效不大

    C端应用多用于外网,可以通过搜索引擎关键词查找,重点是信息曝光(搜索引擎的排名),故采用SSR/SSG

    另外优势:SSR/SSG不需要请求大量的js文件,所以可以缩短首屏时间,提高用户体验上的舒适感

  • 为什么选择Next.js

    程序员开发页面前的工作中需要写大量重复的逻辑,而Next.js将这些重复工作总结并且基于该工作进行部分优化,覆盖了足够多的性能优化和生态,对新同学掌握前后端一体化的开发模式很友好