全网整合营销服务商

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

免费咨询热线: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 


相关文章: 威客平台建站流程解析:高效搭建教程与设计优化方案  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在IIS7中新建站点?详细步骤解析  如何在橙子建站上传落地页?操作指南详解  深入理解Android中的xmlns:tools属性  如何快速查询域名建站关键信息?  相册网站制作软件,图片上的网址怎么复制?  建站之星如何实现网站加密操作?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  微课制作网站有哪些,微课网怎么进?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  建站之星下载版如何获取与安装?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  详解jQuery中基本的动画方法  如何确认建站备案号应放置的具体位置?  网站制作价目表怎么做,珍爱网婚介费用多少?  ,购物网站怎么盈利呢?  建站之星CMS五站合一模板配置与SEO优化指南  广平建站公司哪家专业可靠?如何选择?  香港服务器部署网站为何提示未备案?  如何用虚拟主机快速搭建网站?详细步骤解析  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  如何在建站之星绑定自定义域名?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  建站之星展会模版如何一键下载生成?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  高端企业智能建站程序:SEO优化与响应式模板定制开发  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何在Windows服务器上快速搭建网站?  制作宣传网站的软件,小红书可以宣传网站吗?  免费网站制作appp,免费制作app哪个平台好?  如何选择网络建站服务器?高效建站必看指南  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  如何选择香港主机高效搭建外贸独立站?  建站主机与服务器功能差异如何区分?  网站网页制作专业公司,怎样制作自己的网页?  如何通过IIS搭建网站并配置访问权限?  如何在腾讯云服务器快速搭建个人网站?  如何在万网自助建站平台快速创建网站?  如何选择适合PHP云建站的开源框架?  ,巨量百应是干嘛的?  Python lxml的etree和ElementTree有什么区别  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  如何通过虚拟主机快速完成网站搭建?  制作表格网站有哪些,线上表格怎么弄? 

您的项目需求

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