单页面,多页面优缺点对比

是否需要进行SEO是很重要的标准

Posted by Shubei on July 3, 2018

前端页面模式分为两类

  • 多页面应用模式:MAP(Multi-page Application)
  • 单页面应用模式:SPA(Single-page Application)

比较: 项目|多页面(MPA)|单页面(SPA) –|–|– 结构|许多完整的页面|一个主页面 + 许多模块的组件 体验|页面切换慢,网速慢的时候,体验尤其不好,特别是移动端|页面切换快,体验佳;当初次加载文件过多时,需要做相关的调优。 资源文件|每个页面都要自己加载公用的资源|组件公用的资源只需要加载一次 适用场景|适用于对 SEO 要求较高的应用|对体验度和流畅度有较高要求的应用,不利于 SEO(可借助 SSR 优化 SEO) 过渡动画|很难实现|Vue 提供了 transition 的封装组件,容易实现 内容更新|整体 HTML 的切换,费钱(重复 HTTP 请求)|相关组件的切换,即局部更新 路由模式|普通链接跳转|可以使用 hash ,也可以使用 history 数据传递|cookie 、localStorage 等缓存方案,URL 参数,调用接口保存等|因为单页面,使用全局变量就好(Vuex) 相关成本|前期开发成本低,后期维护就比较麻烦,因为可能一个功能需要改很多地方|前期开发成本较高,后期维护较为容易 URL模式|http://xxx//a.html
http://xxx//b.html| http://xxx//shell.html#a
http://xxx//shell.html#b


个人观点

1
2
3
4
5
6
7
8
有官网介绍等有SEO优化需求的网站,可考虑使用多页面,其他情况讲义采用单页面,当前单页面应用已经主流.  

对于前期选型时未注意,使用了于vue作为前端框架的网站SEO优化方案,大概有以下几种方案: 

1 ssr,即单页面后台渲染 
2 vue-meta-info 与prerender-spa-plugin 预渲染
3 nuxt 
4 phantomjs