NormalModuleFactoryモジュールは、Compilerによってモジュールの生成に使用されます。エントリポイントから始まり、各リクエストを解決し、コンテンツを解析してさらにリクエストを見つけ、すべてのファイルを解決して新しいファイルを解析することで、ファイルのクロールを続けます。最終段階で、各依存関係はModuleインスタンスになります。
NormalModuleFactoryクラスはTapableを拡張し、以下のライフサイクルフックを提供します。これらはコンパイラフックと同じ方法でタップできます。
NormalModuleFactory.hooks.someHook.tap(/* ... */);NormalModuleFactoryは、HookMapからアクセスできるParserとGeneratorインスタンスを作成します。これらにタップするには、識別子を指定する必要があります。
NormalModuleFactory.hooks.someHook.for('identifier').tap(/* ... */);compilerと同様に、フックの種類によってはtapAsyncとtapPromiseも使用できる場合があります。
AsyncSeriesBailHook
新しい依存関係のリクエストが発生したときに呼び出されます。falseを返すことで、依存関係を無視できます。それ以外の場合は、続行するためにundefinedを返す必要があります。
resolveDataAsyncSeriesBailHook
解決を開始する前に呼び出されます。続行するにはundefinedを返す必要があります。
resolveDataAsyncSeriesBailHook
リクエストが解決される前に呼び出されます。falseを返すことで、依存関係を無視できます。Moduleインスタンスを返すと、処理が完了します。それ以外の場合は、続行するためにundefinedを返す必要があります。
resolveDataAsyncSeriesBailHook
スキーム(URI)付きのリクエストが解決される前に呼び出されます。
resolveDataAsyncSeriesBailHook
リクエストが解決された後に呼び出されます。
resolveDataAsyncSeriesBailHook
NormalModuleインスタンスが作成される前に呼び出されます。
createData resolveDataHookMap<SyncBailHook>
モジュールを作成する際にNormalModuleクラスをオーバーライドできるようにするフックです。このフックはcreateModuleフックの後、moduleフックの前に呼び出されます。
フックパラメータ: identifier
コールバックパラメータ: createData resolveData
SyncWaterfallHook
NormalModuleインスタンスが作成された後に呼び出されます。
module createData resolveDataHookMap<SyncBailHook>
Parserインスタンスが作成される前に呼び出されます。parserOptionsは、対応する識別子に対するmodule.parserのオプション、または空のオブジェクトです。
フックパラメータ: identifier
コールバックパラメータ: parserOptions
HookMap<SyncHook>
Parserインスタンスが作成された後に発生します。
フックパラメータ: identifier
コールバックパラメータ: parser parserOptions
可能なデフォルト識別子
javascript/autojavascript/dynamicjavascript/esmJSONwebassembly/syncwebassembly/asyncassetHookMap<SyncBailHook>
Generatorインスタンスが作成される前に呼び出されます。generatorOptionsは、対応する識別子に対するmodule.parserのオプション、または空のオブジェクトです。
フックパラメータ: identifier
コールバックパラメータ: generatorOptions
HookMap<SyncHook>
Generatorインスタンスが作成された後に呼び出されます。
フックパラメータ: identifier
コールバックパラメータ: generator generatorOptions
可能なデフォルト識別子
JSONwebassembly/syncwebassembly/asyncassetasset/sourceasset/resourceasset/inline