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 相关文章推荐
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
jquery封装的对话框简单实现
Jul 21 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
Oct 17 Javascript
通过复制Table生成word和excel的javascript代码
Jan 20 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
ionic实现滑动的三种方式
Aug 27 Javascript
使用ajax的post同步执行(实现方法)
Dec 21 Javascript
vue init失败简单解决方法(终极版)
Dec 22 Javascript
babel之配置文件.babelrc入门详解
Feb 22 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
前端JavaScript大管家 package.json
Nov 02 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
BBS(php & mysql)完整版(八)
2006/10/09 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
网络技术支持面试题
2013/04/22 面试题
《春笋》教学反思
2014/04/15 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
解析python中的jsonpath 提取器
2022/01/18 Python
MySQL优化及索引解析
2022/03/17 MySQL