详解vue项目首页加载速度优化


Posted in Javascript onOctober 18, 2017

凡是做SPA的项目,特别是移动端的SAP项目,首屏加载速度必定是一个绕不过去的话题。接下来我就我们项目里的一些实践来做一下总结。希望抛砖引玉,如果各位有更好的方案,不吝赐教。

1: 针对第三方js库的优化

我们项目里用到的第三方js库主要有:vue, vue-router, vuex, axio, 我们还用到了qiniu。大家知道这些依赖库的js文件都会被一起打包到vender那个js文件里面,如果这些你的第三方依赖库很多,很大的话,那就会导致vender这个文件很大,那首屏加载的速度肯定会被拖慢。

针对这个问题我们的解决方案是,用文档的cdn文件代替,而不用打包到vender里面去。具体的做法是:

1: 在index.html里面引入依赖库js文件

// index.html
<script src="https://cdn.bootcss.com/vue/2.3.3/vue.min.js"></script>
<script src="https://cdn.bootcss.com/axios/0.16.2/axios.min.js"></script>

2: 去掉第三方js的import,因为在第一步已经通过script标签引用进来了。

3: 把第三方库的js文件从打包文件里去掉

这一步的做法就是利用webpack的externals。具体做法就是在 build/webpack.base.conf.js文件的module里面与rules同层加入externals:

详解vue项目首页加载速度优化

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

Javascript 相关文章推荐
javascript制作loading动画效果 loading效果
Jan 14 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
Mar 04 Javascript
jQuery插件datatables使用教程
Apr 21 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
Nov 17 Javascript
Bootstrap选项卡学习笔记分享
Feb 13 Javascript
vue-cli脚手架-bulid下的配置文件
Mar 27 Javascript
在vue2.0中引用element-ui组件库的方法
Jun 21 Javascript
vue指令做滚动加载和监听等
May 26 Javascript
Vue+webpack实现懒加载过程解析
Feb 17 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
JS简单实现滑动加载数据的方法示例
Oct 18 #Javascript
详解cordova打包成webapp的方法
Oct 18 #Javascript
prototype.js简单实现ajax功能示例
Oct 18 #Javascript
浅谈JS函数节流防抖
Oct 18 #Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 #Javascript
详解Js中的模块化是如何实现的
Oct 18 #Javascript
JS跳转手机站url的若干注意事项
Oct 18 #Javascript
You might like
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
javascript 跳转代码集合
2009/12/03 Javascript
javascript 模拟点击广告
2010/01/02 Javascript
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
微信小程序 教程之模板
2016/10/18 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
Python中的字符串查找操作方法总结
2016/06/27 Python
python框架django基础指南
2016/09/08 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
谈谈python中GUI的选择
2018/03/01 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
python抽取指定url页面的title方法
2018/05/11 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
PyTorch实现AlexNet示例
2020/01/14 Python
浅谈Python3中print函数的换行
2020/08/05 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
大学生求职推荐信
2013/11/27 职场文书
公司证明怎么写
2014/09/22 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
golang 语言中错误处理机制
2021/08/30 Golang