首页 > 其他分享 >Vue单页面与多页面的区别

Vue单页面与多页面的区别

时间:2023-01-01 16:34:16浏览次数:38  
标签:Vue 区别 MPA 应用 组件 SPA 页面 加载

定义

SPA单页面应用(SinglePage Web Application),指只有一个主页面的应用(一个html页面),一开始只需要加载一次js、css的相关资源。所有内容都包含在主页面,对每一个功能模块组件化。单页应用跳转,就是切换相关组件,仅仅刷新局部资源。

MPA多页面应用(MultiPage Application),指有多个独立页面的应用(多个html页面),每个页面必须重复加载js、css等相关资源。多页应用跳转,需要整页资源刷新。

区别

1.刷新方式

  • SPA:相关组件切换,页面局部刷新或更改
  • MPA:整页刷新

2.路由模式

  • SPA:可以使用hash,也可以使用history
  • MPA:普通链接跳转

3.用户体验

  • SPA:页面片段间时间的切换快,用户体验良好,当初次加载文件过多时,需要做相关调优。
  • MPA:页面切换加载缓慢,流畅度不够,用户体验比较差,尤其网速慢的时候

4.转场动画

  • SPA:容易实现转场动画
  • MPA:无法实现转场动画

5.数据传递

  • SPA:容易实现数据传递,方法有很多(通过路由带参数传值,Vuex传值等等)
  • MPA:依赖url传参,cookie,本地存储

6.搜索引擎优化(SEO)

  • SPA:需要单独方案,实现较为困难,不利于SEO检索,可利用服务器端渲染(SSR)优化
  • MPA:实现方法容易

7.使用范围

  • SPA:高要求的体验度,追求界面流畅的应用
  • MPA:适用于追求高度支持搜索引擎的应用

8.开发成本

  • SPA:较高,长需要借助专业的框架
  • MPA:较低,但也页面代码重复的多

9.维护成本

  • SPA:相对容易
  • MPA:相对复杂

10.结构

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

11.资源文件

  • SPA:组件公用的资源只需要加载一次
  • MPA:每个页面都需要自己加载公用的资源

在这里插入图片描述​编辑

 原文地址:https://betheme.net/news/txtlist_i61124v.html?action=onClick​

标签:Vue,区别,MPA,应用,组件,SPA,页面,加载
From: https://www.cnblogs.com/songjuntao/p/17018228.html

相关文章

  • vue3 + ts + element_plus 创建后台管理系统,学习记录
    本贴用于记录vue3 后台管理系统学习过程1、创建vue3+ts 工程vuecreateadmin-demo     接下来都是默认选项。 ......
  • vue-live2d 看板娘
    一、看板娘有时候看博客会发现网页右下角有一个动态的模型,通常是动漫角色或者小动物,ta们会看向你的鼠标方向,偶尔还会讲讲笑话,谈谈人生哲理。仔细想想,它使网页有了“生......
  • Vue-Axios
    Axios网络通信Axios:主要作用是实现AJAX异步通信data.json:{"name":"yuanyu","url":"https://www.cnblogs.com/yuanyu610/","page":1,"isNonProfit":tr......
  • Vue实战篇可视化+Echarts5.0
      node/使用命令:https://nodejs.org/zh-cn/npminstall-g@vue/clinpminstallts-node-gnpminit-ynpminstall@types/node-Dnpminstallexpress-Sn......
  • day 50 -vue模板语法
    vue模板语法插值语法 功能:用于解析标签体内容 写法:{{xxx}},xxx是js表达式,可以直接读取到data的所有属性指令语法 功能:用于解析标签(包括:标签属性,标签体内容,绑定事件.......
  • Java.toString() ,(String),String.valueOf()的区别
    先说他们三的作用是什么吧:没什么特别的作用,就是让我们得到的对象或参数类型,按照要求转成字符串的形式。String:毫无疑问,这种就是强转形式,简单方便,效率高。java程序员可能看到......
  • Java8之Optional中orElse和orElseGet的区别
    背景JAVA8之后引入了optional关于optional的使用也比较多了,此处暂时不表这儿暂且只说一下orElse和orElseGet的区别写了一个获取枚举类型的工具类,来做个例子嗯,怎么......
  • vue3.0使用总结
    1、ref与reactiveref通常用于声明基础类型响应式数据。ref返回的是被包装过的响应式对象,在setup中访问和修改ref需要使用.value属性reactive用于声明复杂类型响应式......
  • Laravel8配置Vue且实现SPA
    Laravel8和Vue安装创建新的Laravel8项目//使用composer安装composercreate-project--prefer-distlaravel/laravel"项目名称"//如果有Laravel安装器laravelnew"......
  • Tomcat页面管理
    1、添加WEB管理用户vimapache-tomcat-9.0.58/conf/tomcat-users.xml#添加WEB管理用户,账号tomcat密码tomcat<rolerolename="tomcat"/><rolerolename="rol......