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 相关文章推荐
jscript之Open an Excel Spreadsheet
Jun 13 Javascript
js实现倒计时(距离结束还有)示例代码
Jul 24 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
Nov 19 Javascript
JavaScript通过join函数连接数组里所有元素的方法
Mar 20 Javascript
AngularJS基础 ng-options 指令详解
Aug 02 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
Dec 20 Javascript
bootstrap网格系统使用方法解析
Jan 13 Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
Mar 02 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
May 08 Javascript
Vue路由守卫之路由独享守卫
Sep 25 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 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中执行系统命令的方法
2015/03/21 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
Python使用MD5加密字符串示例
2014/08/22 Python
python编写爬虫小程序
2015/05/14 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
医院总经理岗位职责
2014/02/04 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
电话营销开场白
2015/05/29 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
小英雄雨来观后感
2015/06/09 职场文书
python APScheduler执行定时任务介绍
2022/04/19 Python