详解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的内存泄漏
Mar 04 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
Apr 02 Javascript
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 Javascript
Jil,高效的json序列化和反序列化库
Feb 15 Javascript
vue中计算属性(computed)、methods和watched之间的区别
Jul 27 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
Sep 04 Javascript
基于Vue实现拖拽功能
Jul 29 Javascript
解决vue同一slot在组件中渲染多次的问题
Sep 06 Javascript
vue组件命名和props命名代码详解
Sep 01 Javascript
小程序实现投票进度条
Nov 20 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数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
event.srcElement+表格应用
2006/08/29 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
python切换hosts文件代码示例
2013/12/31 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
python的faker库用法
2019/11/28 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
初中语文教学反思
2014/02/02 职场文书
电大本科自我鉴定
2014/02/05 职场文书
银行转正自我鉴定
2014/09/29 职场文书
导游词范文
2015/02/13 职场文书
Javascript 解构赋值详情
2021/11/17 Javascript
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技