全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解vue项目优化之按需加载组件-使用webpack require.ensure

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

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

类似下面的路由代码

router/index.js  路由相关信息,该路由文件引入了多个 .vue组件

import Hello from '@/components/Hello'
import Province from '@/components/Province'
import Segment from '@/components/Segment'
import User from '@/components/User'
import Loading from '@/components/Loading'

执行 npm run build 会打包为一个整体 app.[contenthash].js ,这个文件是非常大,可能几兆或者几十兆,加载会很慢

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

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

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

router/index.js 修改为懒加载组件

const Province = r => require.ensure([], () => r(require('@/components/Province.vue')), 'chunkname1')
const Segment = r => require.ensure([], () => r(require('@/components/Segment.vue')), 'chunkname1')
const Loading = r => require.ensure([], () => r(require('@/components/Loading.vue')), 'chunkname3')
const User = r => require.ensure([], () => r(require('@/components/User.vue')), 'chunkname3')

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

分模块打包之后在 dist目录下是这样的, 这样就把一个大的 js文件分为一个个小的js文件了,按需去下载,其他的使用方法和import的效果一样

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# require.ensure  # vue  # webpack  # require  # 和vue  # Web Components实现类Element UI中的Card卡片  # 详解vue.js组件化开发实践  # 在vue react中如何使用Web Components组件  # 将会  # 加载  # 多个  # 是这样  # 其他的  # 就把  # 相关信息  # 中去  # 会将  # 非常大  # 很慢  # 大家多多  # 按需  # 情况下  # 目录下  # 引入了  # router  # br  # class  # index 


相关文章: 实现点击下箭头变上箭头来回切换的两种方法【推荐】  公众号网站制作网页,微信公众号怎么制作?  如何在Golang中指定模块版本_使用go.mod控制版本号  金*站制作公司有哪些,金华教育集团官网?  建站主机与服务器功能差异如何区分?  如何续费美橙建站之星域名及服务?  如何制作网站标识牌,动态网站如何制作(教程)?  如何快速搭建高效WAP手机网站?  如何选择靠谱的建站公司加盟品牌?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  网站制作新手教程,新手建设一个网站需要注意些什么?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何在宝塔面板中修改默认建站目录?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  宿州网站制作公司兴策,安徽省低保查询网站?  无锡营销型网站制作公司,无锡网选车牌流程?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何获取免费开源的自助建站系统源码?  建站之星价格显示格式升级,你的预算足够吗?  宝塔建站后网页无法访问如何解决?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站之星收费标准详解:套餐费用及年费价格表一览  网站制作服务平台,有什么网站可以发布本地服务信息?  如何选择CMS系统实现快速建站与SEO优化?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  家具网站制作软件,家具厂怎么跑业务?  如何快速完成中国万网建站详细流程?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  长沙做网站要多少钱,长沙国安网络怎么样?  建站之星会员如何解锁更多建站功能?  建站主机如何安装配置?新手必看操作指南  建站之星上传入口如何快速找到?  网站制作网站,深圳做网站哪家比较好?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  C++如何使用std::optional?(处理可选值)  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何配置支付宝与微信支付功能?  如何在阿里云虚拟主机上快速搭建个人网站?  太平洋网站制作公司,网络用语太平洋是什么意思?  大型企业网站制作流程,做网站需要注册公司吗?  如何登录建站主机?访问步骤全解析  如何彻底删除建站之星生成的Banner?  如何快速搭建高效服务器建站系统?  制作销售网站教学视频,销售网站有哪些?  C#怎么使用委托和事件 C# delegate与event编程方法  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何做静态网页,sublimetext3.0制作静态网页? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。