Module & Chunks之间的关系
Module
Module是webpack的中的核心实体,要加载的一切和所有的依赖都是Module,总之一切都是Module。
webpack支持的模块类型:
- ES2015模块,使用import来加载
- CommonJS模块,使用 require()加载。例如:Node.js模块
- AMD模块,使用require 加载。例如:require.js支持的异步加载模块
- css/sass/less 模块文件
- image等其它非js模块文件
webpack 通过 loader 可以支持各种语言和预处理器编写模块。loader 描述了webpack 如何处理非js模块,可将这些非js模块进行转换,然后可以通过普通的js模块加载方式来使用。
Chunk
- chunk 是webpack使用code splitting后的产物,也就是按需加载的分块,装载了不同的 module
- webpack4之前用的是CommonsChunkPlugin,之后用的是exports.module.optimazation