SSR

前后端分离后单页面应用盛行,出现了服务端渲染的说法,其能更好的SEO

什么是服务器端渲染 (SSR)

  • 服务器将组件和获取到的数据解析生成html字符串,发送给客户端。过程同之前的php、java等的全栈开发,使用模板引擎,获取数据后解析为html字符串后,发到客户端展现。
  • 服务器渲染的 Vue.js 应用程序,可以同时在服务器客户端上运行。

为什么使用服务器端渲染 (SSR)

  • 更好的 SEO
    Google 和 Bing 可以很好对同步 JavaScript 应用程序进行索引。
  • 更快的内容到达时间 (time-to-content)
    无需等待所有的 JavaScript 都完成下载并执行。

服务器端渲染 vs 预渲染 (SSR vs Prerendering)

少数营销页面(例如 /, /about, /contact 等)的 SEO,预渲染。

Nuxt.js通用应用框架

一个基于 Vue.js 的服务端渲染应用框架

流程图

SSR_第1张图片

双模式

编译后同时生成客户端和服务端代码
SSR_第2张图片

  • url访问地址,服务端渲染后发给客户端
    SSR_第3张图片************************************************************************************************************
  • 页面中nuxt-link标签跳转,客户端渲染。history模式,无刷新跳转(同单页应用路由跳转)
    SSR_第4张图片
函数 服务端 路由更新 触发时间 其它
nuxtServerInit 触发 不触发 store/index.js中设置
asyncData 触发 触发 组件加载之前被调用 融合data返回
fetch 触发 触发 渲染页面前被调用 填充(store)数据

注意事项

  • 需要服务端渲染的数据使用asyncData获取
  • vue生命周期中获取的数据会保持客户端渲染(如下mounted中获取)
    SSR_第5张图片

你可能感兴趣的:(ssr,nuxt,服务端渲染,Vue-js,前端)