陆陆续续也用vue开发或重构了不少项目,在这期间遇到不少的坑,也尝试过优化。在此记录一下,想到一点算一点吧:

一、尽可能的减少watcher的数量

   当监听数据是一个对象的时候,最好具体到监听对象的属性;

二、渲染

  1、可以用懒加载、分页、滚动加载或者tab方式去展示其他内容,减少每次渲染的数量;

     2、结合v-if,异步显示dom结构,减少不必要组件的加载;

  3、hybird开发的app,可通过app框架预加载的方式,将单页应用的资源提前缓存。

三、key值

  给列表渲染加上唯一的key值,提高缓存命中率,避免重复创建和大规模的重新渲染。

四、关于组件

  1、组件有明确含义,只处理类似的业务。复用性越高越好,配置性越强越好。

  2、减少组件之间的耦合度,尽量避免一个值传递通过多层组件的情况

  3、使用require.ensure不把所有组件打包进index.js,减少体积。这很好的利用分段加载,但是却增加了请求数,看情况吧;

4、异步组件,使用setTimeout(fn,0)等;

  5、动态组件和异步组件。如keep-alive :可以使被包含的组件保留状态,或避免重新渲染。注意给组件取个名字;

  6、按需加载

    a、用v-if方式,创建和结束生命周期

    b、components中使用require引入;

五、关于路由

  路由的懒加载(按需加载)

component:function(resolve){
require(['src/component/header.vue'],resolve)
}

六、打包优化

  2、把一些公共库打包进vender中,更好的利用缓存;

  3、第三方库尽量瘦身之后再使用,比如element-ui中的按需加载;

七、网络请求

  1、并发请求,如使用promise.all()的方式并发请求非继承关系的接口数据,也要看情况。

  2、非首次必须要渲染数据,尽量采用响应的操作,如结合用户操作之后才发起请求等;

八、服务端渲染和骨架图

-------慢慢补充-------

《vue项目中遇到的坑》

vue的项目优化---回顾的更多相关文章

  1. 前端项目优化 -Web 开发常用优化方案、Vue & React 项目优化

    github github-myBlob 从输入URL到页面加载完成的整个过程 首先做 DNS 查询,如果这一步做了智能 DNS 解析的话,会提供访问速度最快的 IP 地址回来 接下来是 TCP 握手 ...

  2. vue前端项目优化策略

    vue前端项目有什么优化策略? .生成打包报告.(可以发现一些问题,并进行解决)2.使用第三方库启用CDN加载3.使用Element-ui的话,按需加载组件4.使用路由懒加载 生成打包报告: .生成打 ...

  3. VUE 前端项目优化方法

    前端项目通过webpack打包会生成app.js和vendor.js,如果第三方组件依赖过多,会造成打包后的vendor.js过大,页面首次加载的时候会出现白屏时间过长,影响用户体验.对此,我们需要通 ...

  4. vue cli3 项目优化

    vue-cli3 Prefetch (官网内容) <link rel="prefetch"> 是一种 resource hint,用来告诉浏览器在页面加载完成后,利用空 ...

  5. vue单页面应用项目优化总结(转载)

    转载自:https://blog.csdn.net/qq_42221334/article/details/81907901这是之前在公司oa项目优化时罗列的优化点,基本都已经完成,当时花了点心思整理 ...

  6. 用prerender-spa-plugin插件Vue项目优化SEO做ssr服务端渲染及预渲染

    今天在做公交的时候没干,用手机看看文章,偶然发现了一个关于Vue优化seo的文章,我先是在Vue的官方文档看了一篇关于Vue做SEO优化的文章. 上面提到了nuxt.js这个框架,这个框架我做过一个小 ...

  7. 大型vue单页面项目优化总结

    这是之前在公司oa项目优化时罗列的优化点,基本都已经完成,当时花了点心思整理的,保存在这里,方便以后其他项目用到查漏补缺. 1.打包文件中的app.js文件放入cdn,加快页面首次加载速度 2.提取公 ...

  8. vue项目优化与上线

    一.项目优化策略 1.生成打包报告 2.第三方库启用CDN 3.Element-ui组件按需加载 4.首页内容定制 5.路由懒加载 1.生成打包报告 1.1通过vue-cli的UI面板直接查看 1.2 ...

  9. Vue项目上线环境部署,项目优化策略,生成打包报告,及上线相关配置

    Node.js简介 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用来方便快速地搭建易于扩展的网络应用.Node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻量 ...

随机推荐

  1. 5.form表单验证

    自定义验证: 其他验证:

  2. nodeclub config

    配置文件,本来想着分成好几个文件,放在一个文件夹中,后来觉得也没必要,原因是,配置文件看一遍也就记住了,分开反而显得繁琐,注释写清楚就好. // 路径模块 var path = require('pa ...

  3. R12 AR INVOICE 接口表导入

    http://blog.csdn.net/fangz0615/article/details/38677085 Purpose 本文介绍了如何通过AR接口表进行AR事务处理(亦称AR发票)导入. Ap ...

  4. how can I make the login form transparent?

    This is how you can make the Login Form transparent: 1. Add this css to Server Module-> Custom cs ...

  5. linux 下查看redis内存等占用量

    用客户端连接redis服务器:  ./redis-cli -h ip :port >>info server : 一般 Redis 服务器信息,包含以下域: redis_version : ...

  6. WPF 触摸屏小键盘样式

    WPF程序,用于平板时,一些输入数量的地方我们需要弹出小键盘输入,这个键盘可以调系统的,也可以自己写. 分享个我现在用的一个数字键盘界面. <Window xmlns:dxe="htt ...

  7. 【文文殿下】[AH2017/HNOI2017]礼物

    题解 二项式展开,然后暴力FFT就好了.会发现有一个卷积与c无关,我们找一个最小的项就行了. Tips:记得要倍长其中一个数组,防止FFT出锅 代码如下: #include<bits/stdc+ ...

  8. redis windows版本下载地址(不用hm提供的)

    https://github.com/MicrosoftArchive/redis/releases

  9. Python建代理配合burp实现自动免费用水

    i春秋作家:凉风有信 Hi , 我是凉风 半年不见了啊,我又回来了因为太菜都不好意思发文章了 0×00 目录 0×01 前言0×02 利用fd分析与实战0×03 Python+burp简易搭建代理服务 ...

  10. tomcat单机多实例部署

    最近在面试的过程中,一家公司在面试时提到了有关tomcat单机多实例部署的提问, 正好, 之前使用IntelliJ IDEA 13.1.4这款IDE开发web项目,在开发的过程中,因为有多个web项目 ...