Skip to content
文章目录

webpack 中 module, chunk, bundle 的关系与区别

我们可以看出,index.css 和 common.js 在 index.js 中被引入,打包生成的 index.bundle.css 和 index.bundle.js 都属于 chunk 0,utils.js 因为是独立打包的,它生成的 utils.bundle.js 属于 chunk 1。

  • 对于一份同逻辑的代码,当我们手写下一个一个的文件,它们无论是 ESM 还是 commonJS 或是 AMD,他们都是  module ;
  • 当我们写的 module 源文件传到 webpack 进行打包时,webpack 会根据文件引用关系生成  chunk  文件,webpack 会对这个 chunk 文件进行一些操作;
  • webpack 处理好 chunk 文件后,最后会输出  bundle  文件,这个 bundle 文件包含了经过加载和编译的最终源文件,所以它可以直接在浏览器中运行。

module,chunk 和 bundle 其实就是同一份逻辑代码在不同转换场景下的取了三个名字:

我们直接写出来的是 module,webpack 处理时是 chunk,最后生成浏览器可以直接运行的 bundle。

参考资料

webpack 中 module、chunk 、bundle 的区别