单页面应用 Single Page

单页面应用 Single Page

什么是单页面应用?

也就是指我们的系统只加载一次页面,剩下的页面切换交给路由去处理。页面中的数据替换则是交给 JavaScript 和 Ajax 处理。这些操作处理中页面是不会进行刷新的。

在传统的模式中,如果是传统的前后端不分离,你每次修改页面中的数据基本上都要重新请求服务器资源,然后刷新整个页面进行重新渲染。在后来就是传统模式的前后端分离,可以通过 Ajax 获取数据,通过 JavaScript 给指定 DOM 进行替换内容。但是这种方式的页面切换时,也是会刷新整个页面的,而且一般都是通过 a 标签进行页面跳转,或者是 JavaScript 的 location.href 属性进行页面跳转。

刷新整个页面,使得页面所有元素进行重新渲染,这个是很消耗计算机性能开销的。路由的工作原理,基本上就是在一个页面内进行模块切换,把上一个模块在 DOM 移除,把新的模块在 DOM 中新增,就很类似 Vue 中的 v-if 指令。往后面的趋势基本上都是单页面应用了。

优点

  • 良好的交互体验,切换页面时是看不到页面刷新效果的,平时的刷新页面都会空白几秒,用户体验很差
  • 优秀的架构,前后端分离,前端负责界面的展示,后端负责数据的存储和计算
  • 资源加载的次数少,性能有很好的提升,基本上都是按需加载/替换内容

缺点

  • 不利于 SEO 优化,因为整个页面在 Vue 实例化之前只有一个 <div id="app"></div> 标签。基本上就是一个空白的页面
  • 单页面应用不能使用浏览器的前进后退,因为它本来就没有切换页面。页面切换需要建立自己的堆栈管理
  • 单页首次加载耗时会比较长,也就是会白屏一会,因为要把资源都加载进来。但是加载完毕之后的性能会大幅提升。

原文链接:菜园前端

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值