背景:
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:可能一个功能需要改多个页面)