当前位置: 首页 > news >正文

vue2 webpack使用optimization.splitChunks分包,实现按需引入,进行首屏加载优化

optimization.splitChunks的具体功能和配置信息可以去网上自行查阅。

这边简单讲一下他的使用场景、作用、如何使用:

1、没用使用splitChunks进行分包之前,所有模块都揉在一个文件里,那么当这个文件足够大、网速又一般的时候,首屏加载就会很慢。如下图,这三块会在首次进入项目的时候会一起加载:

在这里插入图片描述

2、这时,我们使用splitChunks进行分包,在vue.config.js进行配置,代码如下:

module.exports = {configureWebpack: {optimization: {splitChunks: {chunks: 'all',cacheGroups: {libs: {name: 'chunk-libs',test: /[\\/]node_modules[\\/]/,priority: 10,chunks: 'initial' // only package third parties that are initially dependent},elementUI: {name: 'chunk-elementUI', // split elementUI into a single packagepriority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or apptest: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm},commons: {name: 'chunk-commons',test: resolve('src/components'), // can customize your rulesminChunks: 3, //  minimum common numberpriority: 5,reuseExistingChunk: true}}}}
}

cacheGroupssplitChunks里面最核心的配置,splitChunks就是根据cacheGroups去拆分模块的。
配置完成以后,在进行打包,模块就会进行分包。如下图:
在这里插入图片描述
这时候,当你进入某个页面,用到某个模块的时候,对应的模块包才会进行加载,实现按需加载,这样能大幅优化首屏加载缓慢的问题

http://www.lryc.cn/news/394451.html

相关文章:

  • 深入理解 Docker 容器技术
  • redis并发、穿透、雪崩
  • 【架构设计】-- ACK 机制
  • 这些网络安全知识,请务必牢记!
  • 学习笔记——交通安全分析11
  • Python 3 编程第一步
  • 【eMTC】eMTC 窄带以及带宽的关系
  • 【MySQL】mysqldumpslow工具 -- 总结慢查询日志文件
  • 【mindspore进阶】02-ResNet50迁移学习
  • 智能决策的艺术:揭秘决策树的奇妙原理与实战应用
  • 基于AOP的数据字典实现:实现前端下拉框的可配置更新
  • 基于CentOS Stream 9平台搭建RabbitMQ3.13.4以及开机自启
  • 9、Redis 高级数据结构 HyperLogLog 和事务
  • MyBatis(30)如何在 MyBatis 中使用 XML 和注解混合配置方式
  • 强化学习与控制模型结合例子
  • RKNN3588——利用推理YOLOv8推理图片
  • 【ARMv8/v9 GIC 系列 1.7 -- GIC PPI | SPI | SGI | LPI 中断使能配置介绍】
  • uniapp开发射击类小游戏
  • spring6框架解析(by尚硅谷)
  • Open3D 计算点云的马氏距离
  • Java事务(Transaction)
  • 算法 —— 二分查找
  • Mysql explain语句详解与实例展示
  • Python基础问题汇总
  • 【讲解下iOS语言基础】
  • 【网络安全】实验一(网络拓扑环境的搭建)
  • Docker-基础
  • 《昇思25天学习打卡营第14天|onereal》
  • LeetCode 744, 49, 207
  • 【AI资讯】可以媲美GPT-SoVITS的低显存开源文本转语音模型Fish Speech