Vue——单页应用与多页应用的优缺点

863 阅读3分钟

1.单页应用与多页应用的原理:

多页应用的原理:

每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用。

单页应用的原理:

第一次进入页面的时候会请求一个html文件,刷新清除一下。切换到其他组件,此时路径也相应变化,但是并没有新的html文件请求,页面内容也变化了。

JS会感知到url的变化,通过这一点,可以用js动态的将当前页面的内容清除掉,然后将下一个页面的内容挂载到当前页面上,这个时候的路由不是后端来做了,而是前端来做,判断页面到底是显示哪个组件,清除不需要的,显示需要的组件。这种过程就是单页应用,每次跳转的时候不需要再请求html文件了。

2.vue等单页面应用及其优缺点:

1.优点
  • 提供更好的用户体验,具有桌面应用得即时性,网站得可移植性和可访问性。
  • 单页应用得内容得改变不需要重新加载整个页面,更具有响应性。
  • 单页应用没有页面之前得切换,就不会出现白屏现象,也不会出现假死和闪烁。
  • 单页应用相对服务器压力小,服务器只需要提供数据,不用管展示得逻辑和页面得合成。
  • 良好得前后端分离,后端不再负责模板渲染,输出页面工作,后端api通用化,同一套后端程序代码,不用修改就可以用于web页面,手机,平板等多种客户端。
2.缺点
  • 首次加载耗时多。
  • 不利于seo,搜索引擎收录。
  • 容易造成css命名冲突。
  • 前进、后退、地址栏、书签等需要程序进行管理,页面得复杂度高,需要一定得技能水平和开发成本高。

3.单页应用与多页应用的比较:

mm多页应用模式MPA单页应用模式SPA
应用构成由多个完整页面构成一个外壳页面和多个页面片段构成
跳转方式页面之间的跳转是从一个页面跳转到另一个页面页面片段之间的跳转是把一个页面片段删除或隐藏,加载另一个页面片段并显示出来。这是片段之间的模拟跳转,并没有开壳页面
跳转后公共资源是否重新加载
URL模式http://xxx/page1.html http://xxx/page1.htmlhttp://xxx/shell.html#page1 http://xxx/shell.html#page2
用户体验页面间切换加载慢,不流畅,用户体验差,特别是在移动设备上页面片段间的切换快,用户体验好,包括在移动设备上
能否实现转场动画无法实现容易实现(手机app动效)
页面间传递数据依赖URL、cookie或者localstorage,实现麻烦因为在一个页面内,页面间传递数据很容易实现
搜索引擎优化(SEO)可以直接做需要单独方案做,有点麻烦
特别适用的范围需要对搜索引擎友好的网站对体验要求高的应用,特别是移动应用
搜索引擎优化(SEO)可以直接做需要单独方案做,有点麻烦
开发难度低一些,框架选择容易高一些,需要专门的框架来降低这种模式的开发难度

参考文章:www.jb51.net/article/197…