Skip to main content

webpack的核心构建流程

本文主要参考:[万字总结] 一文吃透 Webpack 核心原理

webpack的核心构建流程实际上包含三个阶段:初始化阶段构建阶段生成阶段

初始化阶段

  1. 初始化参数:从配置文件、配置对象、Shell参数中读取,与默认配置结合得出最终的参数;
  2. 创建编译器对象:用上一步得到的参数创建Compiler对象;
  3. 初始化编译环境:包括注入内置插件、注册各种模块工厂、初始化RuleSet集合、加载配置的插件等
  4. 开始编译:
  5. 确定入口:

构建阶段

  1. 编译模块:从entry开始创建module对象,loader将其转译为标准的js内容,调用js解释器将内容转换为AST,分析出当前模块依赖的模块,递归本步骤,直到所有依赖都被处理过。
  2. 完成模块编译

生成阶段

  1. 输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的Chunk,再把每个Chunk转换成一个单独的文件加入到输出列表
  2. 写入文件系统

每个阶段的详细流程去参考文章上看,包括了源码和图示,讲的很详细。