Compiler 钩子

Overview

environment

在编译器准备环境时,初始化插件之后调用。

  • 类型: SyncHook<[]>

afterEnvironment

当编译器环境准备完成后,在 environment 钩子后直接调用。

  • 类型: SyncHook<[]>

entryOption

在 Rspack 选项中的 entry 被处理过之后调用。

  • 类型: SyncBailHook<[string, EntryNormalized]>
  • 参数:
    • string: 等同于 context 配置
    • EntryNormalized: 处理后的 entry 配置

afterPlugins

在初始化内部插件完成之后调用。

  • 类型: SyncHook<[Compiler]>
  • 参数:
    • Compiler: 当前 Compiler 实例

afterResolvers

resolver 设置完成之后触发。

  • 类型: SyncHook<[Compiler]>
  • 参数:
    • Compiler: 当前 Compiler 实例

initialize

当编译器被初始化时调用。

  • 类型: SyncHook<[]>

beforeRun

在开始执行一次构建之前调用。

  • 类型: AsyncSeriesHook<[Compiler]>
  • 参数:
    • Compiler: 当前 Compiler 实例

run

在开始执行一次构建时调用。

  • 类型: AsyncSeriesHook<[Compiler]>
  • 参数:
    • Compiler: 当前 Compiler 实例

watchRun

在监听模式下,开始执行一次构建时调用。

  • 类型: AsyncSeriesHook<[Compiler]>
  • 参数:
    • Compiler: 当前 Compiler 实例

beforeCompile

在编译参数创建后执行插件。

  • 类型: AsyncSeriesHook<[]>

compile

在一个新的 compilation 创建之前调用。

  • 类型: SyncHook<[]>

thisCompilation

创建 compilation 时调用,在触发 compilation 钩子之前调用。

  • 类型: SyncHook<[Compilation]>
  • 参数:

compilation

compilation 创建之后执行。

  • 类型: SyncHook<[Compilation]>
  • 参数:

make

在 make 阶段开始前调用,在 make 阶段会以 entry 为起点构建模块依赖图,并使用 loader 处理各个模块。

  • 类型: AsyncParallelHook<[Compilation]>
  • 参数:

afterCompile

在 make 阶段结束后 seal 阶段开始前调用,在 seal 阶段会从模块图优化并创建 chunk 图,以生成产物信息。

  • 类型: AsyncSeriesHook<[Compilation]>
  • 参数:

shouldEmit

返回值为一个布尔值,用于决定是否将资源写入到磁盘中。

  • 类型: SyncBailHook<[Compilation]>
  • 参数:

emit

在产物输出到结果目录前执行。

  • 类型: AsyncSeriesHook<[Compilation]>
  • 参数:

afterEmit

输出产物到结果目录后执行。

  • 类型: AsyncSeriesHook<[Compilation]>
  • 参数:

done

当前 Compilation 处理完成时执行。

  • 类型: AsyncSeriesHook<Stats>
  • 参数:
    • Stats: 生成的 Stats 对象

afterDone

当前 Compilation 处理完成且 done 钩子调用之后执行。

  • 类型: SyncHook<Stats>
  • 参数:
    • Stats: 生成的 Stats 对象

failed

当前 Compilation 失败时调用。

  • 类型: SyncHook<[Error]>

watchClose

停止监听时调用。

  • 类型: SyncHook<[]>

shutdown

当前 Compiler 关闭时调用。

  • Type: AsyncSeriesHook<[]>