webpack 的构建流程
- 初始化阶段
- 读取配置文件
- 初始化插件
- 编译阶段
- 解析入口文件
- 解析依赖: 递归地解析入口文件及其依赖的所有模块,构建一个依赖关系图
- 转换文件: 使用 Loader 将不同类型的文件转换为 JavaScript 模块
- 输出阶段
- 生成 Chunk: 根据依赖关系生成一个或多个 Chunk, 每个 Chunk 对应一个文件
- 优化 Chunk: 根据配置文件中的
optimization属性对生成 Chunk 进行优化, 比如进一步的代码分割、压缩 - 输出 Bundle: 生成的 Chunk 最终作为 Bundle 输出到指定目录中