视频文件:https://www.bilibili.com/video/BV1cv411C74F?p=23

一、webpack执行流程

  1. 初始化Complier: new Webpack(config) 得到Compiler对象
  2. 开始编译:调用Compiler对象run方法开始执行编译
  3. 确定入口:根据配置中的entry找到所有出入口文件
  4. 编译模块:从入口文件触发,调用所有配置的Loader对模块进行编译,再找出该模块依赖的模块,递归直到所有模块加载进来
  5. 完成模块编译:在经过第四步使用Loader编译完所有模块后,得到每个模块被编译后的最终内容以及他们之间的依赖关系
  6. 输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的Chunk,再把每个Chunk转换成一个单独的文件加入到输出列表(注意:这步是可以修改处处内容的最后机会)
  7. 输出完成:在确定好输出内容后,根据配置确定输出的路径和文件名,把文件内容写入到文件系统