详解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脚本 Node.js 使用入门
Mar 07 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
Jul 01 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
Nov 19 Javascript
深入理解bootstrap框架之第二章整体架构
Oct 09 Javascript
IE8兼容Jquery.validate.js的问题
Dec 01 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
微信小程序实现发送验证码按钮效果
Dec 20 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
Nov 01 jQuery
Vue引入Stylus知识点总结
Jan 16 Javascript
浅谈JavaScript 声明提升
Sep 14 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动态图像的创建
2006/10/09 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
Python列表计数及插入实例
2014/12/17 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
HTML5标签小集
2011/08/02 HTML / CSS
Linux如何为某个操作添加别名
2015/02/05 面试题
经销商订货会主持词
2014/03/27 职场文书
心灵点滴观后感
2015/06/02 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
volatile保证可见性及重排序方法
2022/08/05 Java/Android