前端单页模式与多页模式的区别

前言

前端部分的搭建,需要考虑使用哪种模式进行页面之间的跳转交互,
而项目内的页面交互,不可避免的需要相互之间的数据共享。
这就引出了本篇博客的目的,一起来谈谈:项目前端部分的构建方式以及数据共享方式。

正文

搭建前端部分所需注意的问题

1)方便性

结合开发的时间需求和方便性选择适合的前端模式

2)性能

在项目的体量比较大,或者某个页面需要加载更多文件时,会对加载页面所需时间产生影响

3)浏览器缓存

在项目发布后如果文件(css/js/image)有更新,需要用户浏览器清理缓存才会从服务器获取更新后的文件,可以通过文件末尾添加时间戳和版本号来避免浏览器优先使用内部缓存文件这样的问题。

4)文件的目录结构

是按照文件的类别设置目录结构?还是按照不同页面设置?
在这里插入图片描述

前端搭建的模式选择(多页模式和单页模式)

在这里插入图片描述

1)多页模式(MPA Multi-page Application):

多页面跳转需要刷新所有资源,每个公共资源(js、css等)需选择性重新加载
页面跳转:使用window.location.href = ‘./index.html’进行页面间跳转;
数据传递:可以使用path?account=‘123’&password=’'路径携带数据传递的方式,或者localstorage、cookie等存储方式

2)单页模式(SPA Single-page Application):

只有一张Web页面的应用,是一种从Web服务器加载的富客户端,但页面跳转只刷新局部资源,公共资源(js、css等)仅需加载一次
页面跳转:使用js中的append/remove或者show/hide的方式来进行页面内容的更换;
数据传递:可通过全局变量或者参数传递,进行相关数据交互

两种模式对比:

项目多页模式(MPA Multi-page-Application)单页模式(SPA Single-page-Applicatioin)
页面组成多个完整页面,例如page1.html、page2.html等由一个初始页面和多个页面模块组成,例如:index.html、page1.vue、page2.vue
公共文件加载页面跳转后,js/css/img等公用文件重新加载js/css/img等公用文件在初始页面时加载,更换页面前后无需重新加载
页面跳转/内容更新页面通过window.location.href = './index.html’跳转vue里的this.$route.push()或v-show、v-if来进行页面内容的更换
页面跳转/内容更新 所需数据的传递可以使用路径携带数据传递的方式,例如:http://index.html?account=“123”&password=“123456”,或者localStorage、cookie等储存方式使用vuex、或者全局变量的方式进行存储
用户体验如果单个页面加载的文件相对较大,页面切换加载会很慢页面片段切换较快,用户体验好,因为初次已经加载好相关文件,但是初次加载文件需要调整优化,因为文件加载较多
适用场景适用于高度追求高度支持搜索引擎的应用高要求的体验度,追求页面流畅的应用
转场动画无法实现容易实现

总结

单页面模式:相对比较有优势,无论在用户体验还是页面切换的数据传递、页面切换动画,都有比较大的操作空间

多页模式: 比较适用于页面跳转较少,数据传递较少的项目中开发,否则使用cookie、localStorage进行数据传递,是一件很可怕又不稳定的无奈选择

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值