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 相关文章推荐
5 cool javascript apps
Mar 24 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
Dec 16 Javascript
jquery.cookie用法详细解析
Dec 18 Javascript
js分页工具实例
Jan 28 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
Mar 17 Javascript
js实现获取div坐标的方法
Nov 16 Javascript
js实现图片无缝滚动
Dec 23 Javascript
JavaScript中Array对象用法实例总结
Nov 29 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
Aug 14 Javascript
JavaScript与Java正则表达式写法的区别介绍
Aug 15 Javascript
利用Vue2.x开发实现JSON树的方法
Jan 04 Javascript
小程序实现搜索框功能
Mar 26 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实现动态添加XML中数据的方法
2018/03/30 PHP
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
js实现tab切换效果
2017/02/16 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
python 图片验证码代码分享
2012/07/04 Python
python中的编码知识整理汇总
2016/01/26 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
Python中函数参数匹配模型详解
2019/06/09 Python
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
晚宴邀请函范文
2014/01/15 职场文书
《忆江南》教学反思
2014/04/07 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
小学推普周活动总结
2015/05/07 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
关于nginx 实现jira反向代理的问题
2021/09/25 Servers