参考: https://blog.csdn.net/u012377333/article/details/52326158

1、前端中所有的按钮,点击后发送报文的标签,都必须加上 去重功能。防止重复发送信息(有的信息重复发送是有很大问题的,比如金融中的借钱,发送1次,发送多次,金额是会累加的。客户明明是借了1次,但是账户上显示金额很多,肯定会引发纠纷)。

2、H5页面,对于需要前面页面的提供的参数 或 用户输入数据 的页面。一定要考虑  跳转页面后,回退页面的数据必须要保持不变。
   跳转前将相应的数据保存到 缓存里( vuex 或 localStorage ) 。跳回来时使用相同的参数 再次进入页面。
 
   体会:页面中有一些数据是通过请求后获取到的,获取到的数据不用缓存。把获取接口 关键的参数 ( 前一页面提供的参数 或 用户输入数据 )  缓存起来就可以了。进入时重新请求获取这些数据 ;
      尽量避免 localStorage 和 sessionStorage 使用的字段太多,比较容易乱。字段多了,在其他的页面根本不知道某个字段到底有没有设置,逻辑会比较乱,不好管理。
 
3、H5页面缓存的选择(localStorage 、sessionStorage、cookie、vuex):具体使用哪个根据 变量的具体需求  来定。
  注意点:选择哪种缓存必须要考虑以下几点
    a、关闭网页,再次进入页面,缓存的数据是否要保持:(localStorage是永久保存的)
       有些数据在页面关闭时必须清除,不然会影响下次进入页面的结果。比如,调接口把openId(用户id)缓存下来,下次进入时,调这个获取openId失败了,可是这个值在缓存还有,页面还能正常进入。
        localStorage 的生命周期是 永久的,js不去清除,永远存在。(如果关闭网页要清除的数据,千万不要使用localStorage,确保再次进入该页面时,这些数据是空的)
       b、刷新页面后,缓存的数据是否还需要存在。(vuex数据,刷新后,缓存没有了)
    c、首次进入 首页 不能有缓存,回退到首页时需要这个缓存。这种情况不能使用localStorage ,因为localStorage 无法在关闭页面时清除数据。
      比如,一些微信的code参数是有时效性的,首页进入通过code参数获取到用户信息后,缓存起来,页面回退到首页就不再使用code去获取用户信息了,去缓存中获取。
      如果使用localStorage,回退到首页,先删除缓存,调用接口已经无效,无法获取缓存的数据,页面就不正常了。
      总结起来:就是首页缓存的数据不要使用localStorage,除非需要像博客那样把登入信息永久保存的,不过这种保存一般是使用cookie来实现的。

4、首屏 loading图,提升用户体验

5、优化SPA应用的首屏加载速度慢

  a、将公用的JS库(或css库)通过script(或link)标签外部引入,减小 app.bundel 的大小,让浏览器并行下载资源文件,提高下载速度;

  b、页面和组件使用 懒加载 的方式引入

6、某个页面是通过链接进去的还是通过回退按钮进入的(填表单的页面,点击按钮调到其他的页面时,再回退,之前填的数据是需要缓存的。而通过链接进入【正常步骤】的页面是没有缓存数据的)

H5项目(基于vue框架)常见问题及注意事项的更多相关文章

  1. 基于VUE框架 与 其他框架间的基本对比

    基于VUE框架的基本描述 与 其他框架间的基本对比 2018-11-03  11:01:14 A B React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供 ...

  2. 基于vue框架项目开发过程中遇到的问题总结(三)

    这次遇到的一个问题困扰了我很久很久,大致就是vue路由的addRoutes方法的使用,每次在调用了这个之后router对象中并没有将路由添加进去,接下来,我一步一步的分析原因及解决方法(个人见解,仅供 ...

  3. 基于vue框架项目开发过程中遇到的问题总结(一)

    (一)关于computed修改data里变量的值 问题:computed里是不能直接修改data里变量的值,否则在git commit 时会报错 解决:在computed里使用get和set来进行获取 ...

  4. 基于vue框架项目开发过程中遇到的问题总结(二)

    1.mouseup事件丢失 查看了网上资料,造成mouseup事件丢失有两种原因: (1)触发了浏览器的drag事件 (2)由于鼠标离开了操作的区域,触发了mouseleave事件导致mouseup丢 ...

  5. Win10环境前后端分离项目基于Vue.js+Django+Python3实现微信(wechat)扫码支付流程(2021年最新攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_182 之前的一篇文章:mpvue1.0+python3.7+Django2.0.4实现微信小程序的支付功能,主要介绍了微信小程序内 ...

  6. 基于vue框架手写一个notify插件,实现通知功能

    简单编写一个vue插件,当点击时触发notify插件,dom中出现相应内容并且在相应时间之后清除,我们可以在根组件中设定通知内容和延迟消失时间. 1. 基础知识 我们首先初始化一个vue项目,删除不需 ...

  7. yarn 常用命令(基于vue框架)

    初始化项目 yarn add init 安装vue yarn add vue 安装webpack,webpack-dev-server(是一个小型的Node.js Express服务器) yarn a ...

  8. 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)

    概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...

  9. 基于vue模块化开发后台系统——构建项目

    文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 在熟悉上一篇说到准备工具之后, ...

随机推荐

  1. sql语句采用数字方式的排序

    select  z.xymc 省份,y.xm  办理人,s.bt 标题,x.createtime 创建时间,          nvl2(t.jssj,t.jssj,'未接收')   接收时间  fr ...

  2. java 实现一套流程管理、流转的思路(伪工作流) 【仅供参考】

    转: java 实现一套流程管理.流转的思路(伪工作流) 在做某个管理项目时,被要求实现一套流程管理,比如请假的申请审批流程等,在参考了很多资料,并和同事讨论后,得到了一个自主实现的流程管理. 以下提 ...

  3. java.net.BindException: Address already in use: 解决方法

    java.net.BindException: Address already in use: 解决方法   1. 执行cmd 2. cmd命令模式下输入netstat -ano,然后找到占用端口的那 ...

  4. MySQL高级学习笔记(六):MySql锁机制

    文章目录 概述 定义 生活购物 锁的分类 从对数据操作的类型(读\写)分 从对数据操作的粒度分 三锁 表锁(偏读) 特点 案例分析 建表SQL 加读锁 加写锁 结论 如何分析表锁定 行锁(偏写) 特点 ...

  5. java8 Date LocalDate LocaDateTime 互相转化

    java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...

  6. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  7. selenium学习笔记(1)

    selenium http://selenium-python.readthedocs.io/index.html https://www.seleniumhq.org/projects/ide/ 声 ...

  8. [Java Performance] 线程及同步的性能之线程池/ThreadPoolExecutors/ForkJoinPool

    线程池和ThreadPoolExecutors   虽然在程序中可以直接使用Thread类型来进行线程操作,但是更多的情况是使用线程池,尤其是在Java EE应用服务器中,一般会使用若干个线程池来处理 ...

  9. 微服务-技术专区-链路追踪(pinpoint)-部署使用

    https://naver.github.io/pinpoint/ https://github.com/naver/pinpoint 背景 随着项目微服务的进行,微服务数量逐渐增加,服务间的调用也越 ...

  10. MockServer

    基于Flask实现的一个简易Mock平台,使用标准json结构体编写Mock Api https://github.com/yinquanwang/MockServer   Key Features ...