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高级程序设计(第3版)学习笔记6 初识js对象
Oct 11 Javascript
jquery库文件略庞大用纯js替换jquery的方法
Aug 12 Javascript
js钢琴按钮波浪式图片排列效果代码分享
Aug 26 Javascript
AngularJS Ajax详解及示例代码
Aug 17 Javascript
如何使用Vuex+Vue.js构建单页应用
Oct 27 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
Feb 20 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
如何根据业务封装自己的功能组件
Apr 19 Javascript
ES6基础之 Promise 对象用法实例详解
Aug 22 Javascript
JavaScript实现留言板案例
Mar 17 Javascript
微信小程序自定义底部弹出框功能
Nov 18 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
默默小谈PHP&MYSQL分页原理及实现
2007/01/02 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
JavaScript中的类继承
2010/11/25 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
vue-axios使用详解
2017/05/10 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
python读取注册表中值的方法
2013/04/08 Python
gearman的安装启动及python API使用实例
2014/07/08 Python
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
python实现批量文件重命名
2019/10/31 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
python实现KNN近邻算法
2020/12/30 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
畜牧兽医本科生的自我评价
2014/03/03 职场文书
服务承诺书格式
2014/05/21 职场文书
工作求职信
2014/07/04 职场文书
军事博物馆观后感
2015/06/05 职场文书
python中的3种定义类方法
2021/11/27 Python