(自用面试题)Vue中SPA与MPA的区别是什么?

131 阅读1分钟

背景:
SPA/Single Page Application/单页面应用指的是只有一个页面的应用,只需要加载一次HTML、CSS、JavaScript等相关资源,一旦页面加载完成,不会因为用户的操作而进行页面的重新加载或跳转,取而代之的是利用路由机制来刷新局部资源
MPA/Multi Page Application/多页面应用指的是有多个页面的应用,切换页面时必须重新加载HTML、CSS、JavaScript等相关资源。

  • 组成
    SPA:一个页面+许多模块的组件
    MPA:多个页面

  • 刷新方式
    SPA:局部刷新
    MPA:整页刷新

  • 数据传递
    SPA:Vuex
    MPA:url、cookie、localStorage等

  • 使用场景
    SPA:对体验度和流畅度有较高要求的场景,但不利于SEO(可以借助SSR优化SEO)
    MPA:对SEO有较高要求的场景

  • 体验
    SPA:切换速度快,用户体验好
    MPA:切换速度慢,用户体验差

  • 成本
    SPA:前期开发成本比较高,后期维护成本比较低
    MPA:前期开发成本比较低,后期维护比较麻烦(REASON:可能一个功能需要改多个页面)