• 前端的单页面模式SPA和多页面模式MPA


    一、前言

      前端部分的搭建,需要考虑使用哪种模式进行页面之间的跳转交互,

      而项目内的页面交互,不可避免的需要相互之间的数据共享。

      这就引出了本篇博客的目的,一起来谈谈:项目前端部分的构建方式以及数据共享方式。

     

    二、正文

      (一)、搭建前端部分所需要注意的问题

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

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

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

      4)文件的目录结构
         是按照文件的类别设置目录结构?还是按照不同页面设置?

         

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

        

    图片来源:https://blog.csdn.net/u013291076/article/details/53667382

      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 Application)
    页面的组成 多个完整页面,
    例如page1.html、page2.html等
    由一个初始页面和多个页面模块组成,
    例如:index.html和page1.htnl.js、page2.html.js等
    公共文件加载 跳转页面前后,js/css/img等公用文件重新加载 js/css/img等公用文件只在加载初始页面时加载,更换页面内容前后无需重新加载
    页面跳转/内容更新 页面通过window.location.href = "./index.html"跳转 通过使用js方法,append/remove或者show/hide等方式来进行页面内容的更换
    页面跳转/内容更新
    所需数据的传递
    可以使用路径携带数据传递的方式,例如:http://index.html?account="123"&password=123456"",或者localstorage、cookie等存储方式

    直接通过参数传递,或者全局变量的方式进行,因为都是在一个页面的脚本环境下

    用户体验 如果单个页面加载的文件相对较大(多),页面切换加载会很慢

    页面片段间切换较快,用户体验好,因为初次已经加载好相关文件。但是初次加载页面时需要调整优化,因为加载文件较多

     适用场景  适用于高度追求高度支持搜索引擎的应用  高要求的体验度,追求界面流畅的应用
     转场动画  不容易实现  容易实现
     总结:
    单页面模式:相对比较有优势,无论在用户体验还是页面切换的数据传递、页面切换动画,都可以有比较大的操作空间

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

     

    三、结语

    前端的明天在框架,得学vue了

  • 相关阅读:
    14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp
    14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项
    13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复
    13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令
    12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理
    12.17 Nginx负载均衡 12.18 ssl原理 12.19 生成ssl密钥对 12.20 Nginx配置ssl
    12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理
    在界面workspacebar上添加的OnContextMenu函数打的断点始终进不去,显示当前不会命中断点还未为文档加载任何符号
    VS2019安装闪退, 不出现安装界面,解决办法
    BCGP单元格多列合并需要注意的
  • 原文地址:https://www.cnblogs.com/linybo/p/13322237.html
Copyright © 2020-2023  润新知