定义

SSR解决方案,后端渲染出完整的dom结构返回,前端拿到的内容包括首屏和spa结构,应用激活后按照spa方式运行,这种页面渲染方式被称为服务端渲染(server side render)

官网上对此ssr的定义

Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序。
服务器渲染的 Vue.js 应用程序也可以被认为是"同构"或"通用",因为应用程序的大部分代码都可以在服务端和客户端运行。

通俗解释

vue的组件是基于vnode的,整个html结构用js的vnode对象树来表达,那么服务端可以通过解析js对象树,在服务端提前生成具有实际表达作用的html字符串,在客户端(浏览器中)每次数据变化的时候通过新旧vnode对象树的对比用diff算法(vue diff算法不了解的可以去搜索一下)去寻找更新最小最优的变化集合,然后再去更新实际的dom。

关键点

代码可以在客户端运行,也可以在服务端运行,服务端渲染通俗来说就是先在服务端运行,在服务端生成html结构并返回给客户端,接下里继续由客户端代码去完成交互。

解决的问题

  • seo:搜索引擎优先爬取页面HTML结构,使用ssr时,服务端已经生成了和业务想关联的HTML,有利于seo
  • 首屏呈现:用户无需等待页面所有js加载完成就可以看到页面视图(压力来到了服务器,所以需要权衡哪些用服务端渲染,哪些交给客户端)

缺点

  • 复杂度
  • 库的支持性,代码兼容
  • 性能问题,每个请求都是n个实例的创建,不然会污染,消耗会变得很大
    • 缓存 node serve 、 nginx判断当前用户有没有过期,如果没过期的话就缓存,用刚刚的结果。
    • 降级:监控cpu、内存占用过多,就spa,返回单个的壳
  • 服务器负载变大,相对于前后端分离务器只需要提供静态资源来说,服务器负载更大,所以要慎重使用(比如一整套图表页面,相对于服务端渲染,可能用户不会在乎初始加载的前几秒,可以交由客户端使用类似于骨架屏,或者懒加载之类的提升用户体验。)

使用场景(什么时候用)

  • seo、首屏速度

    • 如果没有必要性的话,可以用预渲染插件(例如:pre-renderer)
  • 已经存在的项目,改造起来工程量比较大
    • 1.考虑用爬虫工具,比如puppeteer,让它直接从spa项目中爬出结果
    • 2.判断当前的请求是不是爬虫,浏览器引擎;如果是内部用户的花直接把spa给它
  • 全新项目 。用框架级别的例如: nuxt.js

对 Vue-SSR的理解和使用场景相关推荐

  1. 理解vue ssr原理,自己搭建简单的ssr框架

    理解vue ssr原理,自己搭建简单的ssr框架 前言 大多数Vue项目要支持SSR应该是为了SEO考虑,毕竟对于WEB应用来说,搜索引擎是一个很大的流量入口.Vue SSR现在已经比较成熟了,但是如 ...

  2. Vue SSR 性能优化实践

    齐云雷,微医云服务团队前端工程师,本文是作者在<第二届缤纷前端技术沙龙>分享主题的文字版. 估计大部分读者对标题中的性能优化更感兴趣,可惜我分享的重点其实更多在于实践.实践有深有浅,下面介 ...

  3. 关于Vue ssr的一点探讨

    这很难,里面只是我以比较明显的一个问题,引发对整个ssr的研究.但是我又复习了下Vuex,发现了异步问题.过两天把router也复习了.那异步问题应该就解决了,到时候再出篇稿子.这篇,你可能看不懂,因 ...

  4. 了解 Vue SSR 这一篇足以

    文章目录 1 - 什么是服务器端渲染? 1.1 新建server文件夹 1.2 生成一个node项目 1.3 安装express 1.4 服务端渲染小案例 1.5 运行查看效果 1.6 打开浏览器 1 ...

  5. 【服务端渲染】之 Vue SSR

    前言 笔记来源:拉勾教育 大前端高薪训练营 阅读建议:内容较多,建议通过左侧导航栏进行阅读 Vue SSR 基本介绍 Vue SSR 是什么 官方文档:https://ssr.vuejs.org/ V ...

  6. 服务端渲染SSR的理解

    服务端渲染SSR的理解 SSR服务端渲染Server Side Render就是当进行请求时,页面上的内容是通过服务端渲染生成的,浏览器直接显示服务端返回的HTML即可. 客户端渲染CSR 通常在构建 ...

  7. 一个极简版本的 VUE SSR demo

    我本人在刚开始看 VUE SSR 官方文档的时候遇到很多问题,它一开始是建立在你有一个可运行的构建环境的,所以它直接讲代码的实现,但是对于刚接触的开发者来说并没有一个运行环境,所以所有的代码片段都无法 ...

  8. 服务器端渲染-Vue SSR搭建

    阅读建议:建议通过左侧导航栏进行阅读 文章简介:本文是Vue.js服务器端渲染的另一种解决方案-SSR(Server-Side Rendering)学习笔记 Vue SSR是什么 官方文档解释:Vue ...

  9. 手把手带你从零打造Vue SSR,清晰易懂!

    Vue SSR,服务端渲染,优点大家都很清楚,能大大提升首屏渲染速度,优化用户体验,还有利于SEO. 但说实话,Vue SSR并不好上手.官网给的例子大而全,太复杂.而网上很多从0到1打造Vue SS ...

  10. Vue SSR 渲染 Nuxt3 入门学习

    Vue SSR 渲染 Nuxt3 入门学习 SPA应用:也就是单页应用,这些多是在客户端的应用,不利于进行SEO优化(搜索引擎优化). SSR应用:在服务端进行渲染,渲染完成后返回给客户端,每个页面有 ...

最新文章

  1. 【JavaSE】day03_Date、SimpleDateFormat、Calendar、Collection
  2. 共享windows目录给vm linux,将windows中的文件夹共享给Linux虚拟机
  3. 2022年跨境品牌出海新玩法策略:Tiktok+速卖通平台运营必不可少
  4. 来兄弟连学习的经历和感受
  5. oracle 全局id,基于SnowFlake 全局ID 生成器 go-id-worker
  6. css 系统自学笔记2017-12-04
  7. 汉语拼音—韦氏拼音对照表
  8. 我的世界服务器怎么制作头颅,我的世界怎么刷生物头颅 生物头颅制作方法
  9. DHTMLET-Cascading Style Sheet 2.0
  10. 【uniapp】icon图标的使用
  11. 浅谈魔兽世界的BUFF系统和阵营系统
  12. 世界海洋日|TcaplusDB与你一同保护海洋生物多样性
  13. 详解awk(一)awk基础知识、选项、程序段解析与实例
  14. 诗词在线网络月刊2009年第五期
  15. 【兼容】兼容IE8浏览器
  16. 项目开发中软件测试有哪些工作?
  17. Hyperledger Fabric的test-network启动过程Bash源码详解
  18. php怎么实现模拟登陆,php模拟登陆的实现方法_PHP教程
  19. 使用Fragment兼容Tablet和Handset
  20. 测试中的数据统计分析的验证:python脚本+复杂SQL总结

热门文章

  1. vue实现点击星星评分效果
  2. 华为服务器提示错误信息,提示服务器选择不正确配置
  3. Java应届生大学四年怎么过才能进入华为工作
  4. Arduino Tutorial: Avoiding the Overflow Issue When Using millis() and micros()
  5. 区块链技术精华:四十种智能合约支持平台(四)
  6. tmux无法使用鼠标滚轮滚动页面
  7. nc网页版java插件下载_spring-nc
  8. html5下拉列表显示多列,多列网格样式下拉列表框美化jQuery插件
  9. 计算2的100万次幂
  10. IJCAI2019 FinNLP(金融+NLP论文)