// 单页面缺点:【spa 单页面应用】
// 首屏渲染时间长 , 不利于seo【页面代码中无法抓取相关文字】
// 服务端渲染用于解决以上问题:
// 渲染:数据 + 模板绑定在一起
// 传统服务端渲染,服务端返回html 呈现在页面上,包含数据的 有利于seo的
// 数据+模板拼接好后返回
// 服务端渲染:页面 + 数据 + 客户端spa脚本一起返回
// 后期都是交给客户端渲染
// 客户端渲染:前后端分离,服务端仅需提供接口,客户端通过ajax调用接口 渲染页面
// 客户端渲染问题:会导致首屏加载时间变长
// 首屏:打开的第一个页面
// 向url输入一个地址向服务端发出请求, 返回的是一个空白的html,还是会继续发送请求的 直到获取相应的数据
// 服务端渲染,响应数据从服务端获取到,构建相应的模板生成html返回客户端,这样客户端无需向服务端再发送请求了
// 总结:为什么客户端渲染首屏渲染时间会长 ?
// 客户端渲染 向服务端发起请求,先生成一个空白的html ,还会继续向服务端发起请求 直到获取相应的数据
// 服务端渲染 ,数据先从服务端获取,构建相应的html返回客户端,这样客户端无需再向服务端发请求
// 同构渲染:【服务端渲染】
// 服务端渲染和传统服务端渲染是不一样的
// 后端渲染 + 前端渲染 相结合
// 首先服务端渲染[首屏输出],解决首屏喧染慢的问题,再进行客户端渲染,后续交互都用客户端渲染
// 同时拥有服务端和客户端渲染的优点
// how ?
// vue /react 官方提供的方案
// 使用第三方框架实现nuxtjs
// 同构渲染问题:
// 生命钩子函数只能在浏览器端运行 ,服务端渲染要在服务端运行,生命周期要做区分的
// 不能在服务端操作dom ,dom只能在客户端才有
// 部署上也有要求,【客户端 web+ 服务端 node】
// 服务端完成一些渲染 对cpu有更高的一些要求 会占用大量资源
// 需要更多服务器 成本增加
// 开发条件上的 + 构建部署的要求
// 同构渲染: 1,是否需要减缓首屏加载速度 2.是否需要优化seo,是否涉及【前台 ? 后台 ?】
// nuxtjs