详解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 相关文章推荐
JS的IE和Firefox兼容性集锦
Dec 11 Javascript
JQuery Tab选项卡效果代码改进版
Apr 01 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
Nov 28 Javascript
Node.js 制作实时多人游戏框架
Jan 08 Javascript
jQuery实现搜索页面关键字的功能
Feb 16 Javascript
JavaScript中 DOM操作方法小结
Apr 25 Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
微信小程序之绑定点击事件实例详解
Jul 07 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
Jul 31 Javascript
ES7中利用Await减少回调嵌套的方法详解
Nov 01 Javascript
微信小程序录音与播放录音功能
Dec 25 Javascript
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
PHP反射API示例分享
2016/10/08 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
python读取和保存图片5种方法对比
2018/09/12 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
实习鉴定评语
2014/01/19 职场文书
创先争优制度
2014/01/21 职场文书
营销总经理岗位职责
2014/02/02 职场文书
商业活动邀请函
2014/02/04 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL
Python中tqdm的使用和例子
2022/09/23 Python