单页应用和多页应用的区别

3 篇文章 0 订阅
订阅专栏

一、定义区分

【1.1】单页应用

单页应用又称 SPA(Single Page Application)指的是使用单个 HTML 完成多个页面切换和功能的应用。这些应用只有一个 html 文件作为入口,一开始只需加载一次 js,css 等相关资源。使用 js 完成页面的布局和渲染。页面展示和功能室根据路由完成的。单页应用跳转,就是切换相关组件,仅刷新局部资源。

【1.2】多页应用

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

二、模型示意图区分

【2.1】单页应用模型示意图

  

 

 

【2.2】多页应用模型示意图

 

   

 

三、单页面和多页面应用的区别

 单页应用(SPA)多页应用(MPA)
结构一个主页面 + 许多模块的组件许多完整的页面
资源文件(css,js)组件公用的资源只需要加载一次每个页面都要自己加载公用的资源
刷新方式页面局部刷新整页刷新
url模式a.com/#/page1a.com/page1.html
a.com/#/page2a.com/page1.html
用户体验页面切换快,体验佳;当初次加载文件过多时,需要做相关的调优。页面切换慢,网速慢的时候,体验尤其不好
适用场景(SEO)对体验度和流畅度有较高要求的应用,不利于 SEO(可借助 SSR 优化 SEO),适用于经常切换页面的场景和数据传递较多,多表单的场景适用于对 SEO 要求较高的应用
过渡动画Vue 提供了 transition 的封装组件,容易实现很难实现
内容更新相关组件的切换,即局部更新整体 HTML 的切换,费钱(重复 HTTP 请求)
路由模式可以使用 hash ,也可以使用 history普通链接跳转
数据传递因为单页面,使用全局变量就好(Vuex)cookie 、localStorage 等缓存方案,URL 参数,调用接口保存等
相关成本前期开发成本较高,后期维护较为容易前期开发成本低,后期维护就比较麻烦,因为可能一个功能需要改很多地方
html文件请求第一次进入页面的时候会请求一个html文件,刷新清除一下。切换到其他组件,此时路径也相应变化,但是并没有新的html文件请求,页面内容也变化了每一次页面跳转的时候,后台服务器都会给返回一个新的html文档
首屏时间首屏时间慢,首屏时需要请求一次html,同时还要发送一次js请求,两次请求回来了,首屏才会展示出来首屏时间快,访问页面的时候,服务器返回一个 html,页面就会展示出来,这个过程只经历了一个HTTP请求

四、单页应用原理

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

五、单页应用开发中可能存在的问题

1、客户端支持。目前测试中发现部分 APP 尚未支持 hash 方式的返回。APP 测在 webview 的返回按钮上需要实现逻辑:如果不能后退,则关闭 webview;如果能后退,则后退。

2、页面状态保留。使用 react-router 时,切换页面不能保留页面的滚动高度。页面关闭后,上个页面被销毁(执行了 componentWillUnmount ),用户如果在上个页面操作到了底部再做跳转,则返回后会重新回到顶部。体验还是比不上 native,但是依然甩传统的页面跳转几条街。

3、页面带参数。原生的 query 参数应该在 # 之前,index.html?from=onlineSign#pageA。但是 # 后还是可以有参数,index.html#pageA?from=onlineSign ,这里的参数在 location.query 或者 location.search 中拿不到,但是可以在 router 中拿到。

 

原文链接:https://blog.csdn.net/qq_38128179/article/details/108842360

vue将单页面改造成多页应用的方法
12-02
问题描述: 手头有一个项目是使用 vue-cli 搭建的单页面应用。项目分为了管理平台和用户查看页面,用户查看页面是很简单的页面,但是在加载过程中,却加载了整个应用的打包代码,量重且影响了响应和体验。我想要的效果是,查看页面只加载查看页面的代码,不包含管理系统的代码,因此着手将单页面应用改造成多页应用,这里分享下方法。 1、改造文件目录 改造前: 改造后: assets:这里不变,依然放置公用的静态资源文件;components:这里存放应用下所有的vue组件;pages:这里存放我们的多页面,比如我把管理系统页面放在index中,查看页面放在view中; pages文件: 每
单页面应用多页应用区别之浅解
so_vedetable的博客
10-14 391
这段时间参加面试,被问到这个问题的时候,有点小蒙,“嗯???vue不是单页面开发吗”。因为阅历不够,让大家见笑了。言归正传,下面是我对这个问题的浅解。抛砖引玉,欢迎各位大佬指正。 单页面应用(spa) 望文生义,单页面应用只有一个web页面应用,首次加载所有公共资源且只加载一次,页面跳转,仅刷新局部资源。常用于PC端官网、购物等网站。 跳转方式:通过路由跳转完成页面的更换。 界面是通过URL来定位的,所以单页面应用从头到尾它的html地址都是不变的,注意哦,是html地址,而不是U...
前端Vue篇之Vue 单页应用多页应用区别、对SPA单页面的理解,单页面优缺点分别是什么?
星辰迷上大海的博客
02-22 1648
单页应用(SPA)只加载一次页面资源,通过路由切换内容,提供流畅用户体验。多页应用(MPA)每次请求新页面都重新加载完整资源,适合内容丰富、SEO要求高的应用。 SPA适合交互复杂、用户体验要求高的应用,MPA适合内容丰富、SEO要求高的应用
Vue单页多页应用全局配置404页面实践记录
08-27
无论单页还是多页,我的实现思路是总体配置404页面的思路就是在前端路由表中添加一个 path: '/404' 的路由,渲染相应的404页面。这篇文章主要介绍了Vue单页多页应用全局配置404页面实践,需要的朋友可以参考下
单页面应用多页应用区别及优缺点
子玉的博客
09-22 188
选择SPA还是MPA取决于你的项目需求和优先级。SPA适用于需要富交互性、快速响应和与后端API分离的应用程序。MPA适用于需要更好的SEO、内容密集型站点以及传统的多页应用场景。在实际项目中,也可以结合两种架构,根据需要选择不同的页面开发方式。单页面应用(Single Page Application,SPA)和多页应用(Multiple Page Application,MPA)是两种不同的Web应用程序架构。它们有一些显著的区别和各自的优缺点。
单页面应用多页应用区别及SEO优化
最新发布
dxh9231028的博客
03-03 512
SEO优化的目标是提高网站的质量、可访问性,并增加有机(非付费)搜索流量。简单来说,单页面就是只有一套结构体,html,css,js,但这一套结构体不显示整个网站的全部信息,而是通过与用户交互过程中通过改变结构体的内容,来展示用户需要的信息,目前基本上所有的开发,都是基于单页面应用的结构,而我们所看到的页面跳转,实际上是基于路由来改变结构体的内容,而并非新的html,css,js(路由为单页面独有的,多页应用没有路由,换句话说正是路由的出现,才有单页面应用这个概念)。
404 单页应用 报错 路由_单页应用 & 多页应用区别
weixin_39847099的博客
01-02 196
前言最近看到一些人在问单页面和多页应用区别。所以也就输出这一篇短文希望可以给你一个整体的认识。这里也会大体介绍单页应用实现的核心 —— 前端路由。单页应用 VS 多页应用对比图单页应用(SinglePage Application,SPA)指只有一个主页面应用,一开始只需加载一次 js,css 等相关资源。所有的内容都包含在主页面,对每一个功能模块组件化。单页应用跳转,就是切换相关...
单页面应用多页应用区别
qq_44675204的博客
08-16 1026
单页面应用(single page web application,SPA): 只有一个页面,并在用户与应用程序交互时动态更新该页面的Web应用程序。 优点: 1、用户体验好,快,内容改变不需要加载整个页面,对服务器压力较小。 2、前后端分离。 3、页面转场体验好。 缺点: 1、不利于SEO,因为搜索引擎在做网页排名的时候,要根据网页内容给网页权重,来进行网页的排名。搜索引擎是可以识别HTML内容的,而多页应用的每个页面所有的内容都放在HTML中,所以SEO排名效果好,反之单页面应用效果不好。 2、导航不可
单页面应用多页应用区别
WEB小知识
04-05 1662
单页面应用多页应用区别 一、多页应用 每一次页面跳转的时候,服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用多页面具有什么优点呢? 首屏时间快 首屏时间叫做页面首个屏幕的内容展现的时间,当我们访问页面的时候,服务器返回一个 html,页面就会展示出来,这个过程只经历了一个HTTP请求,所以页面展示的速度非常快。 搜索引擎优化效果好(SEO) 搜索引擎在做...
单页应用 (SPA)
Issssy的博客
11-26 896
单页Web应用(single page web application,SPA),就是只有一张Web页面应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。单页应用的说法是在JavaScript和AJAX技术比较成熟以后才出现的,指的是通过浏览器访问一个网站时,只需要加载一个入口页面,此后显示的内容和数据都不会再刷新浏览器页面。有了单页应用之后,传统的网站就被称为多页应用了。
vue 单页应用多页应用的优劣
01-21
多页应用 每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用。 为什么多页应用的首屏时间快? 首屏时间叫做页面首个屏幕的内容展现的时间,当我们访问...
vue-cli单页应用改成多页应用配置详解
08-29
本篇文章主要介绍了vue-cli单页应用改成多页应用配置详解,具有一定的参考价值,有兴趣的可以了解一下
单页面应用多页应用区别
dxn16638400024的博客
11-10 600
单页面应用的组成主要是由一个主页面的HTML、CSS和JavaScript代码组成,而多页应用则是由多个HTML、CSS和JavaScript代码组成,每个页面都有自己的独立性。例如,一个电商网站可能会有一个首页、产品页面、购物车页面和订单页面等多个页面,每个页面都有自己的内容和功能。单页面应用(SPA)与多页应用(MPA)的主要区别在于页面数量和页面跳转方式。单页面应用只有一个主页,而多页应用包含多个页面
单页面应用多页应用区别及优缺点
m0_71059193的博客
08-18 642
单页面应用基于现代Web技术(如JavaScript、AJAX和HTML5)构建,它使用JavaScript在一个单独的页面上构建整个应用程序,实现局部刷新、数据异步加载和响应式布局等特性。相比之下,多页应用则是传统的Web应用程序,每个页面都是一个独立的HTML文件,每次页面刷新都会重新加载整个页面。综上所述,SPA更适合需要快速响应和更好用户体验要求的应用程序,而MPA则适用于需要更好的SEO和安全性的应用程序。单页面应用(SPA)和多页应用(MPA)是两种常见的Web应用程序架构。
单页应用 & 多页应用区别
Mr_chen的博客
03-09 847
????摘要 今天分享下 —— 单页应用 & 多页应用区别 的一些基本知识,欢迎关注! 单页应用实现的核心 —— 前端路由。 ????单页应用 VS 多页应用 ????单页应用(SinglePage Application,SPA) 指只有一个主页面应用,一开始只需加载一次 js,css 等相关资源。所有的内容都包含在主页面,对每一个功能模块组件化。单页应用跳转,就是切换相关组件,仅刷...
单页面应用是什么?优缺点?如何弥补缺点
肥晨开发的学习之路
06-20 2361
也就是说浏览器一开始会加载它必需的thml、css和js 之后所有的交互操作都在一个页面上完成 这些都是由JavaScript动态的加载合适的内容来响应用户的操作 所以Web单页应用会包含大量的js代码 支持单个页面上与多个组件进行丰富的交互。单页面应用(Single Page Application,SPA)是一种网页应用程序模型,它在加载初始页面后,通过动态地更新页面的部分内容,实现与用户的交互和数据展示,而无需重新加载整个页面。有了单页面应用,才把以前的传统web开发叫作多页应用
单页面应用多页应用区别及优缺点?
weixin_66557048的博客
03-16 595
浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。后端不再负责模板渲染、输出页面工作,后端API通用化,即同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。4、前进、后退、地址栏、书签等,都需要程序进行管理,页面的复杂度很高,需要一定的技能水平和开发成本高。2、单页应用的内容的改变不需要重新加载整个页面,web应用更具响应性和更令人着迷。2、SEO问题,不利于百度,360等搜索引擎收录。
单页面与多页面的区别
热门推荐
wuyxinu的博客
12-14 1万+
之前在一个视频面试的时候,被面试官问到这个问题,结果自己混乱答了一下,后面才发现自己混淆了它们的概念,所以特地来学习一下单页面和多页面的区别单页面,顾名思义只有一个界面。(SinglePage Web Application,SPA) 只有一张Web页面应用,是一种从Web服务器加载的富客户端,单页面跳转仅刷新局部资源 ,公共资源(js、css等)仅需加载一次,常用于PC端官网、购物等网站 ...
如何区分单页面应用多页应用
06-09
单页面应用(Single Page Application,SPA)和多页应用(Multiple Page Application,MPA)是两种常见的Web应用程序架构。区分它们可以通过以下方式: 1. 页面加载方式:SPA只有在用户首次访问应用程序时加载全部页面资源,随后的页面切换通过异步获取数据和更新视图的方式完成;而MPA每次页面切换都需要重新加载整个页面。 2. URL变化:SPA在页面切换时不会改变URL,而是通过改变浏览器的history状态来模拟URL的变化;而MPA每个页面都有一个唯一的URL。 3. 前后端通信:SPA通常使用AJAX和RESTful API与后端进行数据交互,而MPA则是通过表单提交和页面跳转的方式进行通信。 4. 技术栈:SPA通常使用现代前端框架(如React、Vue、Angular等)和前端路由库(如React Router、Vue Router等)进行开发;而MPA则使用传统的HTML、CSS和JavaScript进行开发。 总的来说,SPA和MPA各有优缺点,选择哪种架构取决于具体的业务需求和开发团队的技术水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 单页应用和多页应用的区别 6316
  • 浅谈前端SPA(单页面应用) 1727
  • 小项目需要前后端分离吗? 460

分类专栏

  • 前后端分离 3篇

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 小项目需要前后端分离吗?
  • 浅谈前端SPA(单页面应用)
2022年3篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司营口如何制作网站哪家好绍兴网站推广系统公司盘锦网站优化按天扣费报价沧州网络推广公司济南企业网站建设多少钱荷坳企业网站设计多少钱菏泽百度标王报价自贡网络营销公司吕梁品牌网站设计价格永州推广网站推荐湛江企业网站改版推荐伊春网站seo优化武汉网站建设多少钱光明阿里店铺托管推荐宿迁英文网站建设推荐桐城网站搭建多少钱迁安百度竞价哪家好日照SEO按天扣费多少钱坂田网站优化排名价格恩施网站改版多少钱太原阿里店铺托管推荐林芝品牌网站设计价格梧州seo网站推广菏泽网站设计模板哪家好运城网页制作多少钱甘孜网站优化推广公司海北网站建设多少钱福永百度网站优化公司鹰潭百度网站优化多少钱聊城百搜标王推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化