流程概括
- 初始化参数 从配置文件和 Shell 语句中读取与合并参数,得出最终的参数
- •
- 开始编译:用上 步得到的参数初始 Co er 对象,加载所有配置的插件,通
- 过执行对象的 run 方法开始执行编译
- •
- 确定入口 根据配置中的 ntry 找出所有入口文件
- •
- 编译模块:从入口文件出发,调用所有配置的 Loader 对模块进行翻译,再找出
- 模块依赖的模块,再递归本步骤直到所有入口依赖的文件都经过了本步骤的处理
- •
- 完成模块编译 在经过第 步使用 Loader 翻译完所有模块后, 得到了每个模块被
- 翻译后的最终内容及它们之间的依赖关系。
- •
- 输出资源:根据入口和模块之间的依赖关系,组装成 个个包含多个模块的 Chunk,
- 再将每个 Chunk 转换成 个单独的文件加入输出列表中,这是可以修改输出内容
- 的最后机会
- •
- 输出完成:在确定好输出内容后,根据配置确定输出的路径和文件名,将文件的内
-
流程细节
初始化:启动构建,读取与合并配置参数,加载 Plugin ,实例化 Compiler
- 编译:从 Entry 发出,针对每个 Module 串行调用对应的 Loader 去翻译文件的内容,
- 再找到该 Module 依赖的 Module ,递归地进行编译处理
- 输出:将编译后的 Module 组合成 Chunk ,将 Chunk 转换成文件,输出到文件系统中
