NormalModuleFactoryフック

NormalModuleFactoryモジュールは、Compilerによってモジュールの生成に使用されます。エントリポイントから始まり、各リクエストを解決し、コンテンツを解析してさらにリクエストを見つけ、すべてのファイルを解決して新しいファイルを解析することで、ファイルのクロールを続けます。最終段階で、各依存関係はModuleインスタンスになります。

NormalModuleFactoryクラスはTapableを拡張し、以下のライフサイクルフックを提供します。これらはコンパイラフックと同じ方法でタップできます。

NormalModuleFactory.hooks.someHook.tap(/* ... */);

NormalModuleFactoryは、HookMapからアクセスできるParserGeneratorインスタンスを作成します。これらにタップするには、識別子を指定する必要があります。

NormalModuleFactory.hooks.someHook.for('identifier').tap(/* ... */);

compilerと同様に、フックの種類によってはtapAsynctapPromiseも使用できる場合があります。

beforeResolve

AsyncSeriesBailHook

新しい依存関係のリクエストが発生したときに呼び出されます。falseを返すことで、依存関係を無視できます。それ以外の場合は、続行するためにundefinedを返す必要があります。

  • コールバックパラメータ: resolveData

factorize

AsyncSeriesBailHook

解決を開始する前に呼び出されます。続行するにはundefinedを返す必要があります。

  • コールバックパラメータ: resolveData

resolve

AsyncSeriesBailHook

リクエストが解決される前に呼び出されます。falseを返すことで、依存関係を無視できます。Moduleインスタンスを返すと、処理が完了します。それ以外の場合は、続行するためにundefinedを返す必要があります。

  • コールバックパラメータ: resolveData

resolveForScheme

AsyncSeriesBailHook

スキーム(URI)付きのリクエストが解決される前に呼び出されます。

  • コールバックパラメータ: resolveData

afterResolve

AsyncSeriesBailHook

リクエストが解決された後に呼び出されます。

  • コールバックパラメータ: resolveData

createModule

AsyncSeriesBailHook

NormalModuleインスタンスが作成される前に呼び出されます。

  • コールバックパラメータ: createData resolveData

createModuleClass

HookMap<SyncBailHook>

5.81.0+

モジュールを作成する際にNormalModuleクラスをオーバーライドできるようにするフックです。このフックはcreateModuleフックの後、moduleフックの前に呼び出されます。

  • フックパラメータ: identifier

  • コールバックパラメータ: createData resolveData

module

SyncWaterfallHook

NormalModuleインスタンスが作成された後に呼び出されます。

  • コールバックパラメータ: module createData resolveData

createParser

HookMap<SyncBailHook>

Parserインスタンスが作成される前に呼び出されます。parserOptionsは、対応する識別子に対するmodule.parserのオプション、または空のオブジェクトです。

  • フックパラメータ: identifier

  • コールバックパラメータ: parserOptions

parser

HookMap<SyncHook>

Parserインスタンスが作成された後に発生します。

  • フックパラメータ: identifier

  • コールバックパラメータ: parser parserOptions

可能なデフォルト識別子

  1. javascript/auto
  2. javascript/dynamic
  3. javascript/esm
  4. JSON
  5. webassembly/sync
  6. webassembly/async
  7. asset

createGenerator

HookMap<SyncBailHook>

Generatorインスタンスが作成される前に呼び出されます。generatorOptionsは、対応する識別子に対するmodule.parserのオプション、または空のオブジェクトです。

  • フックパラメータ: identifier

  • コールバックパラメータ: generatorOptions

generator

HookMap<SyncHook>

Generatorインスタンスが作成された後に呼び出されます。

  • フックパラメータ: identifier

  • コールバックパラメータ: generator generatorOptions

可能なデフォルト識別子

  1. JSON
  2. webassembly/sync
  3. webassembly/async
  4. asset
  5. asset/source
  6. asset/resource
  7. asset/inline

2 貢献者

iguessitsokaychenxsan