webpack 中 module、chunk 、bundle
文章类型:webpack
发布者:hp
发布时间:2025-05-10
在使用webpack进行打包过程中,module、chunk、bundle。他们究竟是什么呢
(1)Module(模块)
定义:=>Webpack中最小的构建单元,任何独立文件(如JS、CSS、图片等)均可视为模块
特点:=>
通过import、require等语法建立模块间的依赖关系
每个模块会被Loader处理为Webpack可识别的格式
(2)Chunk(代码块)
定义:=>打包过程中的中间产物,由一个或多个模块组成
生成方式:=>
入口文件(entry)=>每个entry配置生成一个独立的chunk
动态加载(如import())=>异步代码会生成新的chunk
代码分割(SplitChunks)=>抽离公共代码或第三方库生成共享chunk
(3)Bundle(捆绑包)
定义:=>最终输出的可部署文件,由一个或多个chunk经过编译、压缩后生成
特点:=>
通常情况下,一个chunk对应一个bundle
部分配置(如提取CSS为单独文件)可能导致一个chunk生成多个bundle
1:关系:Module(源文件) → Chunk(打包中间产物) → Bundle(最终输出文件)
2:区别:=>
Module是离散的源文件;
Chunk是模块的集合,由依赖关系或配置决定;
Bundle是经过优化处理的最终产物,可直接运行于浏览器
1:Module:项目源码中所有资源(包括 JS、CSS、Image、Font 等等)都属于 module 模块。可以配置指定的 Loader 去处理这些文件。
2:Chunk:当使用 webpack 将我们编写的源代码进行打包时,webpack 会根据文件引用关系生成 chunk 文件,对这些 chunk 文件进行一些操作。
3:Bundle:webpack 处理完 chunk 文件之后,最终会输出 bundle 文件,这个 bundle 文件包含了经过加载和编译的最终产物