详解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具有类似Lambda表达式编程能力的代码(改进版)
Sep 14 Javascript
JS实现当前页居中分页效果的方法
Jun 18 Javascript
JavaScript多并发问题如何处理
Oct 28 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
Angular之指令Directive用法详解
Mar 01 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
Jul 03 Javascript
vue组件父与子通信详解(一)
Nov 07 Javascript
vue中设置height:100%无效的问题及解决方法
Jul 27 Javascript
jQuery实现飞机大战小游戏
Jul 05 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
遭遇php的in_array低性能问题
2013/09/17 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
js实现简单的倒计时
2021/01/28 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
Django中的Signal代码详解
2018/02/05 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python3实现单目标粒子群算法
2019/11/14 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
教师的实习自我鉴定
2013/12/17 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
资产移交协议书
2016/03/24 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android