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:在模块和块完全处理完毕后触发,开始生成输出。