Skip to content

Webpack 构建过程

  1. 初始化参数:从配置文件和 Shell 语句中读取与合并参数,得出最终的参数。
  2. 初始化编译:用上一步得到的参数初始化 Compiler 对象,加载所有配置的插件,插件可以扩展 Webpack 的功能。随后执行 Compiler 对象的 run 方法。
  3. 读取入口:根据配置中的 entry 找出所有的入口文件。
  4. 编译模块:从入口文件出发,调用所有配置的 Loader 对模块进行编译,再找出该模块依赖的模块,递归地编译,并构建出一个模块依赖图。
  5. 优化:根据配置中的 optimization 字段进行优化,例如 Tree Shaking、Split Chunks 等。
  6. 生成输出资源:根据模块依赖图和优化结果,将模块组合成一个或多个 Chunk。
  7. 写入文件系统:将生成的资源写入到文件系统中,通常是输出到指定的 output.path 目录下。
  8. 完成编译:编译完成后,Webpack 会触发 done 钩子,监听该事件的插件会执行相应的操作,比如生成报告、执行额外的任务等。