诚选app优化方案

解决大文件问题,目前发现整个项目打包的出来的文件过大

1.如图一、图二可以看到在Stat Parsed Gzip下文件的大小相差很大,目前从图三中可以看到两个属性productionSourceMap、ProductionGzip,productionSourceMap为true的时候会生成一些map文件(只是方便看源码),这样会导致额外的文件,代码的内容也被暴露,所以应该设置为false,减少额外文件产生,另外打包的应该开启Gzip压缩,目前看到ProductionGzip为false,可以设置为true,服务器也需要gzip模式

2.如图一、图二可以看到一些大文件,例如echarts、jquery、vux等一些大文件,例如echarts我们可以在线定制自己需要的模块,通过这样减少文件体积,另外一些文件如果可以从cdn引入的,也可以这么去做,如果可以按需加载的,建议都按需加载,例如vux
图一:
在这里插入图片描述
图二:

在这里插入图片描述

图三:
在这里插入图片描述
图四:

在这里插入图片描述

图片懒加载

1.滚动到特定位置才进行图片的加载,这样可以减少页面初始化的时候,一次性加载完所有的资源,导致页面响应过慢,先将img标签的src链接设为同一张图片(比如空白图片),然后给img标签设置自定义属性(比如 data-src),然后将真正的图片地址存储在data-src中,当JS监听到该图片元素进入可视窗口时,将自定义属性中的地址存储到src属性中,达到懒加载的效果

缓存路由组件,路由懒加载
1.如图五,目前项目有些组件已经进行了缓存,对于一些不经常改动或组件比较厚重的页面,可以使用keepalive,所有路由都进行了懒加载,以后如果新增路由组件也是如此
图五:

在这里插入图片描述

静态图片

1.例如assets里面的图片文件,可以对图片压缩,还有就是如果在满足条件的情况下,图片大小可以小的话,建议使用小图
2.使用css splite(雪碧图),多张小图标融合在一张图上,减少http请求,通过background的position属性实现
3.可以内嵌图片base64

骨架屏

1.可以参考移动端框架Vant ui(https://youzan.github.io/vant/#/zh-CN/skeleton),参考配置地址(https://www.jianshu.com/p/eacac700630e),如图六所示,骨架屏可以说是一种从视觉上去优化用户体验,相比于loading,骨架屏是类似于页面完全加载时的样式,比loading的体验更好

图六:
在这里插入图片描述

缓存数据,减少发起http请求,例如接口

1.对于如果有一些接口,例如一些配置信息等,如果更新不频繁或者是只需要加载一次那种的,可以把接口的数据缓存下来,下次进入页面,不再请求接口
2.前端缓存数据,例如购物车,前端可以做本地购物车,可以做些简单的缓存,例如使用localStorage、sesstionStorage,复杂的使用indexDB

线上环境去掉console、注释等,避免无效代码
如图七所示,诚选打包生产环境时,并没有配置剔除注释、console这些,应该类似图八对UglifyJsPlugin进行配置,减少不必要的代码,
图七:
在这里插入图片描述
图八:

在这里插入图片描述

列表优化

目前查看一些列表页,例如图九,使用的是vux框架的scroller组件,但是目前该组件已经弃用,并且不在维护,存在性能问题(https://doc.vux.li/zh-CN/components/scroller.html
),并且页面在整体滚动后,导致scroller区域滚动卡顿或无法滚动的问题。
1.分类点击响应缓慢,因为使用的是click事件,而click事件有300ms的延迟,解决的方案可以使用fastclick库
2.滚动的问题,目前尝试使用android和ios进行测试,发现苹果机页面整体可以滑动,会导致滚动卡顿的问题,android整体基本没问题,所以建议是关闭webview上的交互,另外一个替换方案就是如vux官网所说使用第三方的滑动插件,例如better-scroller、vant的List组件
图九:
在这里插入图片描述
图十:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的图像分割在高德的实践

一、前言 图像分割(Image Segmentation)是计算机视觉领域中的一项重要基础技术,是图像理解中的重要一环。图像分割是将数字图像细分为多个图像子区域的过程,通过简化或改变图像的表示形式,让图像能够更加容易被理解。…

腾讯汤道生:AI是产业互联网的“中央处理器”,数字技术融合打造产业新动能

7月10日,2020世界人工智能大会腾讯论坛正式拉开帷幕。腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生进行了开场致辞。汤道生表示,人工智能是新基建的核心技术之一,也是产业互联网的“中央处理器”。在AI的产业和技术发展趋势方面&#x…

小程序开发(1)-之目录结构和文件说明

#以下图片是小程序的目录结构,建议所有的目录都使用小写字母,不使用驼峰格式 #组件 components是自定义组件目录,对一些常用的组件的封装 #配置文件 config是配置文件,存有一些常用的字段和请求地址 #第三方库 libs是一些外部…

阿里云杨敬宇:四层技术构建基于城市场景的边缘计算

12月11日,阿里云边缘计算技术负责人杨敬宇在2019亚太内容分发大会上表示:在未来,边缘计算主要是以地市、区县为单位开展,面向城市服务的交通、医疗、健康、教育、新零售等场景提供算力基础。阿里云认为边缘计算就是城市计算&#…

2020年的双11,阿里需要什么样的渲染方案?

阿里妹导读:前端技术的"新陈代谢"是有目共睹的,新技术的不断发展也推动着前端应用场景的不断扩大,从 Web 、Weex 到 Node.js 再到 FaaS。我们在发展中看不变的部分,唯有追求更好的用户体验是端技术持续发展中不变的责任…

腾讯优图发布四大平台产品,持续开放视觉AI能力

7月10日,2020世界人工智能大会在上海举行,腾讯优图实验室总经理吴运声发表了“新基建新生态下的计算机视觉”的主题演讲,分享了优图视觉AI技术在工业、教育、泛娱乐等领域的最新落地实践,并发布四大平台产品,进一步开放…

小程序开发(2)-之app.js、app.wxss、project.config.json说明

#app.js 小程序的入口文件,也可以说是一个全局的变量,因为我们经常会在一些页面里这样使用它const app getApp(); 我们可以在这里做一些初始化的操作,每次启动小程序的时候,都会先执行一边这里,可以对一些常用的全局…

微服务治理实践:如何对单点异常进行自动摘除

微服务架构下,稳定性和高可用性一个永恒的话题,在实际的治理过程中,我们有可能会遇到以下场景: 某个应用灰度发布,先上了几台机器,由于代码逻辑写的有问题,造成线程池满,出现运行异…

数字时代企业信息安全如何保障? VMware原生安全前来“保驾护航”

2020年春天,以5G、人工智能、云计算为代表的“新基建”蔚然成风,着眼国家数字经济体系建设,打造数字经济体系底座的“新基建”,无疑成为中国经济整体应对未来发展的核心方案。可以说,没有任何一个时期比现在更能够彰显…

Elasticsearch7.15.2 安装、部署(linux环境)

文章目录一、软件下载配置1. 下载2. 解压3. 录结构理解二、采用自带的jdk2.1. 启动脚本2.2. 添加jdk判断三、配置与启动3.1. 核心配置简述3.2. 核心配置3.3. 创建数据存储目录3.4. 创建es用户3.5. 修改目录权限3.6. JVM配置3.7. 增加资源分配3.8. 内核参数3.9. 刷新 配置3.10. …

仅1年GitHub Star数翻倍,Flink 做了什么?

阿里妹导读:Apache Flink 是公认的新一代开源大数据计算引擎,其流水线运行系统既可以执行批处理程序也可以执行流处理程序。目前,Flink 已成为 Apache 基金会和 GitHub 社区最为活跃的项目之一。在 Flink Forward Asia 2019 上,阿…

小程序开发(3)-之wx.request封装

#主要的封装是wxRequest、wxRequestGet、wxRequestPost、wxRequestPromise、headers这几个函数,由于太过赘余不进行截图展示,可以看utils.js #wxRequest方法 wxRequest其实跟原始的wx.request没有太大的不同,相当于一个中间键,可…

elasticsearch-head 谷歌插件以及安装和使用说明

文章目录一、谷歌插件方式1. 下载2. 扩展程序3. 打开开发者模式4. 拖动插件5. 添加扩展程序6. 点击es插件7. 连接8.效果对比二、源码运行方式(推荐使用)2.1. 克隆源码2.2. 配置2.3. 下载依赖2.4. 启动2.5. 验证一、谷歌插件方式 1. 下载 https://github.com/mobz/elasticsear…

闲鱼如何高效承接并处理用户纠纷

背景 闲鱼是一个基于C2C场景的闲置交易平台,每个用户既是买家也是卖家,在自由享受交易乐趣的同时也容易带来一些问题,如发一些侵权违规商品而不自知,发一些带情绪化言语对他人照成了伤害等,因此这也带来了一个核心问题&#xff1…

国内厂商 Onyx 违反 GPL 协议,中国开源何去何从?

作者 | 马超责编 | 王晓曼封图 | CSDN 付费下载自东方 IC出品 | CSDN(ID:CSDNnews)近日,中国电子书厂商Oynx拒绝开源其基于Linux 内核修改的设备源码,这一做法违反了Linux的GPL协议,在Reddit社区引发了开源…

系统重构的道与术

最近参与了很多重构项目,有以提高服务器资源利用率为目标的Gateway网关、AMAPS等服务的重构,也有以提升架构合理性和研发效率为目标的共享业务服务化拆分,借此机会把相关内容梳理一下,是分享更是自我总结和学习。准备以重构工作中…

小程序开发(4)-之登录

#为了获取token,所以需要搞个模拟登陆,用一个特定的账号,对密码进行md5加密,也只是在app.js那里进行一次调用,这里主要是说一下globalData.checkLogin、checkLoginReadyCallback,这时this指向的是全局的app…

SpringBoot2 整合 AXIS2 服务端和客户端

文章目录一、AXIS2服务端1. 版本选型2.导入依赖3. services.xml4.Axis2配置类5.服务接口6.服务接口实现类7. FileCopyUtils工具类8. 测试验证二、AXIS2服务端2.1. 客户端类2.2. 服务调用测试开源源码.一、AXIS2服务端 1. 版本选型 阿健/框架版本spring-boot2.5.5axis21.7.9 2…

阿里风控大脑关于大数据应用的探索与实践

以下内容根据演讲视频以及PPT整理而成。本次分享主要围绕以下三个方面: 一、阿里风控大脑整体介绍二、近线引擎三、离线引擎一、阿里风控大脑整体介绍1. 阿里风控大脑是什么? 阿里的风控主要分为两大块。一块是金融领域,主要业务是支付宝,另…

我和美国 AI 博士聊了聊:2020 年,这件事比存钱更重要!

今年还有什么比股市更赚钱的技能?那就是正处于 IT 风口的人工智能所需的 Python 。我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的:先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Pyth…