基于vue项目的代码优化

9 篇文章 1 订阅
订阅专栏

前言

项目上线后其整体性能的优良是用户也是研发人员所关注的。项目优化非常重要,一丝一毫的提升都是对用户的负责。因此我们在开发中就应该注重细节,优化工作从日常开发做起。本篇文章就分享一些在日常开发中代码层面的优化手段。

开发常用优化手段

1、优先使用 v-if

v-if 和 v-show 都可以控制一个元素的显示与隐藏。区别是: v-if 是创建/销毁DOM来实现效果的;v-show 是通过 CSS 的 display 样式来操作的,会预渲染 DOM 。在开发中,除了需要预渲染或者需要频繁切换显示状态的情况,其他情况尽量使用v-if

2、v-for 和 v-if 不要一起使用

v-for 的优先级在 vue2 中比 v-if 高,所以在 vue2 项目中当两个指令出现在一个 DOM 上时,通过 v-for 渲染列表,每一次都需要进行一次 v-if 的判断。如果列表数据过多,就会造成一定的性能损耗。

解决方案:

① 如果是需要判断是否渲染这个列表,那么我们可以通过在循环外层包裹一层 template 来先进行判断。代码示例如下:

 

② 如果 v-if 是为了筛选需要遍历的数据,那么我们可以在计算属性中做筛选数据的逻辑,返回一个符合条件的列表数据,并在 DOM 中直接使用这个数据即可。代码示例如下:

3、长列表优化

在项目开发中,很多时候需要列表展示,其数据条数可达上千甚至上万条。

如果数据体量较大,一次性查询会特别慢,影响用户体验,目前的解决方案是分页查询,先查询近20条数据,同时监听滚动条的位置,当发现滚动条滚动到列表底部时继续请求后端接口获取下20条数据。

 

这种方案能够解决目前查询较慢的问题,但是还有优化的空间,随着不断滚动,数据会越来越多,大量DOM存在难免给客户端造成一定的压力,这时可以考虑虚拟列表的实现方案。

4、及时释放组件资源

及时释放不必要的资源也是一种常见的优化手段。我们在组件中使用定时器 setInterval 时,就会开辟一块资源空间给这个定时器使用,如果销毁组件时不手动释放掉这块空间,那么组件销毁后它们依旧会占用一部分资源。这就导致了没有必要的资源浪费,尤其是整个项目中存在多个这种现象时。所以当一个组件销毁后,尽量把我们开辟出来的资源块也销毁掉

 

5、图片懒加载

当页面中存在大量图片时,对图片的优化处理是刻不容缓的,这能大大提升用户体验。vue就有提供 vue-lazyload 插件供我们直接使用,用起来还是很方便的。

 

最后

性能优化手段颇多,可以借助工具,结合实际情况针对性优化。本文列举了几点在开发中的常用优化手段,供大家参考。作为开发人员,我们应该在日常项目中养成良好的编码习惯,高内聚低耦合,避免无用代码。这些比任何后期的工作都要来得实在。

Vue代码优化
tc1124692的博客
03-25 3887
代码性能优化 减少Object.defineProperty的执行次数 *vue2使用他来订阅data中的所有属性 *vue3使用proxy,解决了如下问题 *vue2的defineProperty不能察觉属性的添加与删除 *vue2的defineProperty在数组的所有方法都是自己实现的 *proxy可以做到 *__只有需要在页面中响应式显示的属性,才放到data中__ 只显示一次的变量处理 *也可以用v-once data(){ ...
Vue项目优化代码优化
L289121的博客
10-30 468
一、代码优化 1、使用keep-aliive包裹动态组件 在动态组件中的应用: <keep-alive :include="whiteList" :exclude="blackList" :max="amount"> <component :is="currentComponent"></component> </keep-alive> 在vue-router中的应用: <keep-alive :include="whiteList"
Vue.js 代码优化浅谈
weixin_34258782的博客
08-24 365
前言 vue之火,不言而喻,框架给前端带来了方便,但是代码的漏洞也会很多。如果不加以注意和优化就会陷入不必要的性能、冗余等问题,所以我们有必要关注优化的重要性,下面我们将把常用的优化做一些总结和探索 我们将从以下几方面着手 优化方向 最佳实践 一、代码优化方向 技术选型没有最好的,只有最适合业务的。目前我们的业务是用gulp+webpack打包构建的。目前有几个痛点: 1、代码冗余。 我们经常引入...
Vue实战指南:Vue代码优化18条--全面提高页面性能
一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟!
09-12 1494
在构建高性能的Vue应用程序时,开发者面临着各种挑战,从提高渲染效率到减少内存消耗,每一步都需要精心设计。为了帮助开发者们更好地优化他们的Vue应用,本文将分享一系列经过实践验证的优化策略,涵盖从组件设计到性能监测等多个方面。当然,性能优化是一个持续的过程,随着项目的不断发展,我们也需要不断地调整策略,以适应新的需求和技术趋势。希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。通过异步组件,你可以将一个组件分割成多个小块,在需要的时候再加载。
vue项目最新代码优化技巧
功能总结
04-27 1541
屏幕前的你是否在一开始做项目的时候就一心只想着抓紧把功能需求完成,然后接下来就开始了,写自由飞翔的代码最终产生了大量沉余代码,而自己一直想去解决这些问题,却不知如何下手的,今天你静下心来阅读此文章后希望能帮助到你。
vue 优化代码的总结
qiaoqiaoBigBoss的博客
03-04 739
之前写代码也没人教,现在我写的代码组长有时候会review,并且会提出怎样优化代码,之前写页面也没有很明确的组件化思想,目前这一方面有了很大的提升 下面就说一下近期的总结: 1. 写自定义组件时,尽量做到复用,不要在组件里面写循环 2. 给组件传值,不要传数组,尽量以Object的形式进行传值,可以在组件上v-for数组,然后传item 3. 子路由的页面,都可以通过props接收由父路由传递的值 4. 利用v-for循环数组时,绑定唯一标识时,尽量不要用index 5. 组件要多多利用,可以低耦合
基于simulatedgreg/electron-vue修改优化后的electron-vue项目设计源码
最新发布
09-26
项目为基于simulatedgreg/electron-vue框架修改优化后的electron-vue项目源码,包含29个文件,涵盖13个JavaScript文件、3个Vue组件文件、2个YAML配置文件、2个PNG图像文件、2个JSON配置文件、1个Babel配置文件、1...
基于Vue 3实现的Cesium大屏可视化项目源代码,展示了Cesium的一些基础示例
05-29
这个基于Vue 3的Cesium大屏可视化项目提供了一个学习和实践的平台,涵盖了现代前端框架与地理空间可视化的结合,对于开发具有丰富3D交互功能的Web应用非常有价值。通过深入研究源代码,开发者可以掌握如何有效地集成...
浅谈 Vue 项目优化的方法
11-29
在本文中,我们将探讨一些适用于 Vue CLI 初始化项目或基于 Webpack 打包的项目优化策略。 首先,基础优化是最核心的部分,它涉及到 HTML、CSS 和 JavaScript优化。在 Vue 的 .vue 文件中,这三个部分分别对应...
基于 PHP + Vue 实现的 项目管理系统,vue项目怎么跟php结合,PHP
09-11
项目"基于 PHP + Vue 实现的项目管理系统"充分利用了这两种技术的优势,旨在提供一个用户友好且功能丰富的解决方案。下面将详细介绍PHP和Vue.js如何结合以及它们在项目中的具体应用。 PHP是一种广泛使用的服务器...
基于vue项目下PC端和移动端实现的自适应.zip
10-21
项目"基于vue项目下PC端和移动端实现的自适应"即展示了如何在Vue.js环境中实现跨平台的响应式设计。 首先,我们来看"adaptiveDifferentiation-master"这个项目名称,它暗示了主要关注的是适应性差异化,也就是...
vue项目优化
weixin_45695200的博客
09-12 6992
目录一、代码层面的优化二、Webpack 层面的优化三、基础的 Web 技术优化 vue项目优化分为三部分: Vue 代码层面的优化 webpack 配置层面的优化 Web 技术层面的优化 一、代码层面的优化 1 v-for 遍历为 item 添加 key 在列表数据进行遍历渲染时,需要为每一项 item 设置唯一 key 值,方便 Vue.js 内部机制精准找到该条列表数据。 2 v-for 遍历避免同时使用 v-if v-for 比 v-if 优先级高,这意味着 v-if 将分别重复运行于每个 v
Vue 项目性能优化(代码层面的优化
weixin_44090040的博客
08-19 823
v-if 和 v-show 区分使用场景 v-if 是 真正 的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建; 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。 v-show 就简单得多, 不管初始条件是什么,元素总是会被渲染, 并且只是简单地基于 CSS 的 display 属性进行切换。 所以,v-if 适用于在运行时很少改变条件,不需要频繁切换条件的场景; v-show 则适用于需要非常频繁切换条件的场景。 c
Vue项目中的代码优化层面
开源世界
05-07 269
第一部分 是针对组件的引入做优化 场景:以前我们每个页面需要引入组件时,都是在script内部进行import形式引入,但随着项目的扩大和业务场景的复杂度变化,组件的产生也随着越来越多,因此优化步骤如下。 以前的版本是这样的: 这些还是比较基础的,后面越多的组件引入看起来就不是很友好,于是请看下面的优化 在文件内新建utils.js文件,名字可以自定义,位置也可以自定义,写入以下图片中标识的内容,并在main.js内导入即可 到了这一步了,已经完成90%了,那么最后一步就是调试啦,看看是不是果真如此,
Vue项目 代码优化的写法总结
HZM_CSDN的博客
05-16 225
Vue项目 代码优化的写法总结
如何优化 Vue 祖传代码
Crazymryan的博客
12-29 303
目录 前言为什么要优化从哪里开始下手现在开始1.代码压缩2.删除一些废弃的页面3.使用 cdn 优化4.修改路由引入方式结果 前言 “这页面加载也太慢了!”,一个宁静的下午就此打破,在...
vue代码优化
abl23的博客
05-09 434
请注意,这仅仅是一个简单的示例,webpack 还有许多其他的配置选项和插件可供使用。你可以根据自己的项目需求进行更多的配置。要压缩 Vue 2 的代码,你可以使用 webpack 来进行打包和压缩。这将会在 dist 文件夹下生成压缩后的 bundle.js 文件。指定了打包后的文件路径和文件名。指定了你的入口文件路径,
Vue项目优化实践:代码打包与性能提升策略
"本文档分享了作者在基于Vue2的项目开发过程中进行的一系列优化心得,主要包括代码打包、路由优化、源码优化等技巧。首先,针对代码包优化,作者指出在生产环境配置文件(如`prod.env.js`)中,通常会启用sourceMap...
写文章

热门文章

  • 密码框后的小眼睛怎么写? 9100
  • 入门SVN基础使用教程 7902
  • 怎么实现屏幕分辨率自适应(响应式布局) 7703
  • proxy代理配置及解析 6247
  • 前端页面图片加载失败如何处理 5055

分类专栏

  • 工作 11篇
  • 网络 3篇
  • Vue 9篇
  • 笔记 3篇
  • 实习记录 2篇
  • CSS 2篇
  • angular 1篇
  • axios 1篇
  • 前端面经 2篇
  • 前端面试 2篇
  • mysql 1篇
  • Html 3篇
  • 算法

最新评论

  • 浏览器自动填充但是数据为空的问题

    qq_43312394: 看得到值,但是el里面是空如何处理

  • proxy代理配置及解析

    qq_34398086: 能过滤规则吗

  • 一个选项框的选项根据另一个选项框的值的变化而变化

    yououa: 我们是从数据库里提数据,用了change监听,直接按照分类if写了几种情况,这样就省了遍历这个过程了。不过你的分享确实给了我思路,向你学习。

  • 一个选项框的选项根据另一个选项框的值的变化而变化

    yououa: 今天产品给了这个需求,瞬间有思路了,谢谢

  • Flex布局及其应用场景

    前海端游: m

大家在看

  • 2.HTML基本标签 1
  • Sharding-JDBC标准模式详解
  • 【CTF-SHOW】Web入门 Web27-身份证日期爆破 【关于bp intruder使用--详记录】
  • MySQL
  • 黑客 如何攻破一个网站?长文图解全流程,零基础入门到精通,收藏这篇就够了

最新文章

  • 浏览器自动填充但是数据为空的问题
  • 解决前端跨域的几种方法
  • WebSocket快速入门及基本使用
2023年2篇
2022年5篇
2021年16篇
2020年29篇
2019年6篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳坪山网站建设公司网站如何做优化推广广州番禺网站优化餐饮网站seo优化方法seo网站优化科学技术协会怎么样优化网站排首页海口网站优化效果天下网百科网站SEO优化简历黄山网站优化排名是什么市桥网站优化公司罗湖网站优化排名哪里好临沂网站排名优化合作天津网站优化公司价格制作网站找云优化网站推广SEO教程排名优化诸城优化网站效果网站优化哪种渠道好眉山网络营销企业网站优化安徽优化网站厦门网站快照优化莱芜网站建设及优化阀门网站优化热门文章南庄网站优化案例牛推网络 网站优化排名快ad百度优化对网站有什么好处东莞企业网站排名优化进行网站内部链接优化的技巧网站seo优化什么意思沧州泊头网站快速优化排名福州出名的机械行业网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

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