- 渲染
- 把数据和模板拼接到一起
- 传统的服务端渲染
- 早起的web页面在服务端渲染
- 前后端耦合度高
- 服务端压力大
- 用户体验一般
- 需要刷新整个页面
- 前端没有足够发挥空间
- csr
- 客服端渲染
- 首屏渲染慢
- 请求多
- 1.先请求空白页面
- 2.js请求
- 3.数据请求
- 请求多
- 不利于SEO
- seo:搜索引擎中的排名
- 获取到的是空html,无法获取页面内容
- 同构渲染
- 后端渲染 + 前端渲染
- 两种渲染方式的优点
- 基于Vue,React等框架
- 在服务端之执行一次,实现服务端渲染(首屏直出)
- 在客户端再执行一次,用于接管页面交互
- 核心解决SEO和首屏渲染慢的问题
- 官方解决方案 比较麻烦
- 第三方解决方案
- React Next.js
- Vue Nuxt.js
- 基于Vue,React等框架
- Nuxt
- 根据pages自动生成路由
- 解决了SEO和首屏渲染慢 其余在客户端进行渲染
- 同构渲染的SPA应用
- 依然是SPA应用,之后的交互都是客户端渲染
- 应用的问题
- 开发条件所限
- 浏览器特定的代码只能在某些生命周期钩子函数中使用
- 一些外部的扩展库可能需要特殊处理才能在服务端渲染中运行
- 不能在服务端渲染期间操作DOM
- 某些代码需要区分操作环境
- 构建和部署的要求更多
- 同构渲染
- 需要构建两个端
- 只能部署在Nodejs server
- 客户端
- 只需要构建客户端
- 可以部署在任意Web服务器中
- 同构渲染
- 更多的服务端负载
- 在node中占用大量的cpu资源
- 高流量环境下使用,准备相应的服务器负载
- 更多的服务端渲染优化工作
- 开发条件所限
- 使用之前考虑
- 1.是否需要SEO?
- 2,,首屏速度是否真的重要