详解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 相关文章推荐
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 Javascript
Javascript原型链和原型的一个误区
Oct 22 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
js实现数组去重方法及效率?Ρ? target=
Feb 14 Javascript
微信小程序实现滚动消息通知
Feb 02 Javascript
angularjs select 赋值 ng-options配置方法
Feb 28 Javascript
Vue自定义弹窗指令的实现代码
Aug 13 Javascript
vue双向绑定数据限制长度的方法
Nov 04 Javascript
jQuery 选择器用法基础入门示例
Jan 04 jQuery
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
Jun 11 Javascript
vue+elementUI实现简单日历功能
Sep 24 Javascript
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
PHP下对字符串的递增运算代码
2010/08/21 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
python文件编写好后如何实践
2020/07/07 Python
Python 图片处理库exifread详解
2021/02/25 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
英语专业个人求职信范文
2014/02/01 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
岗位职责说明书模板
2014/07/30 职场文书
委托证明书
2014/09/17 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android