这是我参与「第五届字节青训营」伴学笔记创作活动的第7天。
课程目标
掌握C端web应用开发的基本能力。
C端与B端应用
B端web应用主要是面向内部群体,仅供内部人员使用,而C端web应用面向所有群体,所有互联网用户皆可使用。
三种渲染模式
CSR
客户端渲染(Client-Side Rendering)。常见的B端WEB应用开发模式,前后端分离,服务器压力相对较轻,渲染工作在客户端进行,服务器直接返回不加工的HTML用户在后续访问操作。
SSR
服务器端渲染(Server-Side Rendering),服务端将HTML文本组装好,并返回给浏览器,这个HTML文本被浏览器解析之后,不需要经过 JavaScript 脚本的执行,即可直接构建出希望的 DOM 树并展示到页面中,最后将这些静态标记"激活"为客户端上完全可交互的应用程序。
同构SSR:前后端一体化,代码在服务器上运行一遍,在客户端又运行一遍。前后端都要参与渲染且首次渲染出的HTML要一致。
SSG
静态站点生成(Satic Site Generation),在构建是直接将结果页面输出html到磁盘,每次访问直接把html返回给客户端,相当于一个静态资源。
SSR,SSG的优势
- 利于SEO
- 更短的首屏时间
Next.js
Next.js是一个构建于Node.js之上的开源web开发框架,支持基于React的web应用程序功能。
优点:上手快,能力集全,覆盖了足够多的性能优化和生态。
数据注入
- getInitialProps
在服务器端执行,只能在页面层面进行绑定。采用同构,首次渲染服务器端渲染,路由跳转使用客户端路由。 - getServerSideProps
与getInitialProps不同,即使是使用路由跳转,依旧是在服务端执行。 - getStaticProps
服务器端构建时执行,如果涉及动态路由,需要使用getStaticProps配置所有可能的参数情况。
个人小结
以上便是本次学习的一些简要内容笔记,大致了解了一下CSR.SSR.SSG三种渲染的特点以及CMS的一些基础了解。