Webpack 是一个强大的模块打包工具,它可以处理各种类型的资源,并将它们转换为浏览器可以理解的代码。在这个过程中,Webpack 使用了一种叫做 “插件” 的机制,它允许你自定义如何处理特定类型的资源。

image.png

几个最常用的钩子

  • entryOption: 在 webpack 选项中的 entry 配置项被处理过后,立即执行。这个钩子可以用来修改、添加或删除 entry 配置。

  • compilation: 每次新的编译创建时,都会触发此钩子。编译对象包含了当前的模块资源、编译生成资源、变化的文件等。这个钩子可以用来在编译过程中添加自定义的功能。

  • emit: 在生成资源并输出到目录之前。这个钩子可以用来修改输出资源,或者在输出资源到目录之前执行一些操作。

  • afterEmit: 在生成资源并输出到目录之后。这个钩子可以用来执行一些清理或者其他的收尾工作。

  • done: 编译完成时。这个钩子可以用来报告编译结果,或者执行一些编译完成后的操作。

  • failed: 编译失败时。这个钩子可以用来处理编译错误,例如记录错误日志。

扩展阅读