详解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 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 Javascript
jquery中eq和get的区别与使用方法
Apr 14 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
Apr 03 Javascript
js检验密码强度(低中高)附图
Jun 05 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
Nov 24 Javascript
jquery获取所有选中的checkbox实现代码
May 26 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
Dec 28 Javascript
JavaScript 动态三角函数实例详解
Jan 08 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
js实现限定范围拖拽的示例
Oct 26 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP一些有意思的小区别
2006/12/06 PHP
PHP 危险函数解释 分析
2009/04/22 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
pyramid配置session的方法教程
2013/11/27 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
英国日常交易网站:Wowcher
2018/09/04 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
新大陆软件面试题
2016/11/24 面试题
大学班长的职责
2014/01/27 职场文书
交通安全寄语大全
2014/04/08 职场文书
专项法律服务方案
2014/06/11 职场文书
学校教师读书活动总结
2014/07/08 职场文书
村官2015年度工作总结
2015/10/14 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
Python初学者必备的文件读写指南
2021/06/23 Python
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android