vue项目首屏打开速度慢的解决方法


Posted in Javascript onMarch 31, 2019

最近接手了一个后台管理系统,技术栈主要是vue全家桶+elementui,老大打开测试环境页面的时候,说看到首页需要6秒钟,那如何进行优化呢?

首先我们需要安装webpack-bundle-analyzer

// webpack.prod.conf.js
if (config.build.bundleAnalyzerReport) {
 const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
 webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
// config/index.js
build: {
 // Run the build command with an extra argument to
 // View the bundle analyzer report after build finishes:
 // `npm run build --report`
 // Set to `true` or `false` to always turn it on or off
 bundleAnalyzerReport: process.env.npm_config_report
}

运行npm run build --report

vue项目首屏打开速度慢的解决方法

我们可以看到,vendor中的elementui占了500k,怎么优化呢?

在webpack配置文件中增加,接下来就是见证奇迹的时刻。

externals: {
  'vue': 'Vue',
  'element-ui': 'ELEMENT',
  'axios': 'axios'
 },

再看一下我们的vendor体积

vue项目首屏打开速度慢的解决方法

vendor一共才195k

那缺少的elementui文件去哪里找呢?答案是cdn引用。

vue项目首屏打开速度慢的解决方法

之前项目里还有引用moment,但是这个库实在是太大了,在github上我找到一个跟momentapi完全一样的库,但是文件大小只要2kb。

vue项目首屏打开速度慢的解决方法

其他优化方法还有ssr,这个最好用nuxtjs来做,自己配置ssr实在太麻烦了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
Jun 28 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
May 13 Javascript
js实现上传图片预览的方法
Feb 09 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
Jan 01 Javascript
纯js代码制作的网页时钟特效【附实例】
Mar 30 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
Dec 02 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
Dec 07 Javascript
element ui里dialog关闭后清除验证条件方法
Feb 26 Javascript
js canvas画布实现高斯模糊效果
Nov 27 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 Javascript
javascript中call,apply,bind的区别详解
Dec 11 Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 #jQuery
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 #Javascript
使用post方法实现json往返传输数据的方法
Mar 30 #Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
Mar 30 #Javascript
微信公众平台获取access_token的方法步骤
Mar 29 #Javascript
vue路由--网站导航功能详解
Mar 29 #Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
Mar 29 #Javascript
You might like
PHP form 表单传参明细研究
2009/07/17 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
node.js中watch机制详解
2014/11/17 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
详解在React里使用"Vuex"
2018/04/02 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
中秋节超市促销方案
2014/01/30 职场文书
我的老师教学反思
2014/05/01 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
会计简历自我评价
2015/03/10 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python