vue-cli 首屏加载优化问题


Posted in Javascript onNovember 06, 2018

使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build  会将所有的js代码打包为一个整体,

打包位置是 dist/static/js/app.[contenthash].js  

类似下面的路由代码

router/index.js 路由相关信息,该路由文件引入了多个 .vue组件
import Personal from '@/components/page/Personal'
import Message from '@/components/personnal/Message'
import Settings from '@/components/personnal/Settings'
import Setlanguage from '@/components/personnal/children/Setlanguage'

npm run build 会打包成一个app.[contenthash].js,这个文件会非常大,影响加载速度。

所以我们需要分模块打包,把我们想要组合在一起的组件打包到一个 chunk块中去

分模块打包需要下面这样使用 webpack的 require.ensure,并且在最后加入一个 chunk名,

相同 chunk名字的模块将会打包到一起。

const Personal = r=>require.ensure([],()=>r(require('@/components/page/Personal')),'personal');
const Message = r=>require.ensure([],()=>r(require('@/components/personnal/Message')),'personal');
const Settings = r=>require.ensure([],()=>r(require('@/components/personnal/Settings')),'personal');
const Setlanguage = r=>require.ensure([],()=>r(require('@/components/personnal/children/Setlanguage')),'personal');

根据 chunname的不同, 上面的四个组件, 将会被分成3个块打包,最终打包之后与组件相关的js文件会分为3个 (除了app.js,manifest.js, vendor.js)

总结

以上所述是小编给大家介绍的vue-cli 首屏加载优化问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 封装一个tab效果源码分享
Sep 15 Javascript
理解javascript正则表达式
Mar 08 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
使用grunt合并压缩js和css文件的方法
Mar 02 Javascript
vue实现nav导航栏的方法
Dec 13 Javascript
js中DOM事件绑定分析
Mar 18 Javascript
js数组去重的N种方法(小结)
Jun 07 Javascript
Vue从TodoList中学父子组件通信
Feb 05 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 Javascript
使用 Vue 实现一个虚拟列表的方法
Aug 20 Javascript
jquery实现的分页显示功能示例
Aug 23 jQuery
layui 弹出删除确认界面的实例
Sep 06 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
Nov 06 #Javascript
vue组件tabbar使用方法详解
Nov 06 #Javascript
微信小程序下拉框功能的实例代码
Nov 06 #Javascript
详解ES6中的 Set Map 数据结构学习总结
Nov 06 #Javascript
小程序实现页面顶部选项卡效果
Nov 06 #Javascript
Vue常用的几个指令附完整案例
Nov 06 #Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
Nov 06 #Javascript
You might like
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
用JQUERY增删元素的代码
2012/02/14 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
python编写猜数字小游戏
2019/10/06 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
python创建文本文件的简单方法
2020/08/30 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
教师的实习自我鉴定
2013/12/17 职场文书
个人委托书格式
2014/04/04 职场文书
羽毛球比赛策划方案
2014/06/13 职场文书
开展读书活动总结
2014/06/30 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
销售口号霸气押韵
2015/12/24 职场文书