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将string类型转换int类型
Dec 09 Javascript
jquery图片切换插件
Mar 16 Javascript
灵活的理解JavaScript中的this指向
Feb 25 Javascript
Angular 页面跳转时传参问题
Aug 01 Javascript
对javascript继承的理解
Oct 11 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 Javascript
VUE项目中加载已保存的笔记实例方法
Sep 14 Javascript
微信小程序全选多选效果实现代码解析
Jan 21 Javascript
用vue设计一个日历表
Dec 03 Vue.js
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读取csv文件并输出的方法
2015/03/14 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
PHP对象实例化单例方法
2017/01/19 PHP
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
详解node中创建服务进程
2017/05/09 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python 查看文件的读写权限方法
2018/01/23 Python
python放大图片和画方格实现算法
2018/03/30 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Django使用rest_framework写出API
2020/05/21 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
韩国现代百货官网:Hmall
2018/03/21 全球购物
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
异步传递消息系统的作用
2016/05/01 面试题
如何定义一个可复用的服务
2014/09/30 面试题
丑小鸭教学反思
2014/02/03 职场文书
颁奖晚会主持词
2014/03/25 职场文书
初一学生期末评语
2014/04/24 职场文书
销售口号大全
2014/06/11 职场文书
拉歌口号大全
2014/06/13 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书