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是否可实现多线程  深入理解JavaScript定时机制
Dec 22 Javascript
lyhucSelect基于Jquery的Select数据联动插件
Mar 29 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
Mar 21 Javascript
从零学JS之你需要了解的几本书
May 19 Javascript
jQuery创建DOM元素实例解析
Jan 19 Javascript
谈谈JavaScript自定义回调函数
Oct 18 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 Javascript
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
浅析vue插槽和作用域插槽的理解
Apr 22 Javascript
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
javascript异常处理实现原理详解
Feb 17 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
Mar 16 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数组的维度
2013/06/10 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
Python 用户登录验证的小例子
2013/03/06 Python
Python利用IPython提高开发效率
2016/08/10 Python
python装饰器深入学习
2018/04/06 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
华三通信H3C面试题
2015/05/15 面试题
计算机应用毕业生自荐信
2013/10/23 职场文书
工作迟到检讨书
2014/02/21 职场文书
经典广告词大全
2014/03/14 职场文书
身边的榜样活动方案
2014/08/20 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
学生吸烟检讨书
2014/09/14 职场文书
合伙购房协议样本
2014/10/06 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
python pygame入门教程
2021/06/01 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers