初始化

编译

构建

优化

完成

生命周期钩子

1. 初始化阶段

compiler.hooks.initialize:在 Webpack 初始化阶段触发,通常用于插件的初始配置。

2. 编译阶段

compiler.hooks.compile:在编译开始时触发,创建 Compilation 实例之前。

compiler.hooks.make:在每次编译时触发,用于创建模块和块。

compiler.hooks.normalModuleFactory:在模块工厂创建时触发,允许自定义模块解析和创建逻辑。

compiler.hooks.beforeRun:在构建开始前触发,通常用于插件进行前置操作。

compiler.hooks.run:在构建开始时触发,类似于 beforeRun,但在 compiler 开始运行时触发。

3. 编译处理阶段

compilation.hooks.buildModule:在构建每个模块时触发,用于处理和修改模块。

compilation.hooks.finishModules:在所有模块处理完成后触发,用于进行最终的模块处理。

compilation.hooks.seal:在模块和块完全处理完毕后触发,开始生成输出。