NormalModuleFactory Hooks
NormalModuleFactory 모듈은 컴파일러에서 모듈을 생성하는데 사용됩니다. 엔트리 포인트에서 시작하여 각 요청을 해결하고, 내용을 파싱하여 추가 요청을 찾고, 모든 파일을 해결함으로써 크롤링하고 새 파일을 파싱합니다. 마지막 단계에서는 각 의존성이 모듈 인스턴스가 됩니다.
NormalModuleFactory 클래스는 Tapable을 확장하고 다음과 같은 라이프사이클 훅을 제공합니다. 컴파일러 훅도 같은 방식으로 탭 할 수 있습니다.
const nmf = NormalModuleFactory.hooks;
nmf.someHook.tap("MyPlugin", (resolveData) => {
// ...
});NormalModuleFactory는 HookMaps에서 접근할 수 있는 Parser 및 Generator 인스턴스를 생성합니다. 이러한 인스턴스를 사용하려면 식별자를 전달해야 합니다.
NormalModuleFactory.hooks.parser
.for("javascript/esm")
.tap("MyPlugin", (parser, parserOptions) => {
// ...
});컴파일러와 마찬가지로 tapAsync 및 tapPromise도 훅의 유형에 따라 사용할 수 있습니다.
beforeResolve
AsyncSeriesBailHook
새 의존성 요청이 발견되면 호출됩니다. 의존성은 false를 반환하여 무시할 수 있습니다. 그렇지 않으면 계속 진행하기 위해서는 undefined 상태로 반환되어야 합니다.
- 콜백 파라미터:
resolveData
factorize
AsyncSeriesBailHook
해결을 시작하기 전에 호출됩니다. 계속 진행하기 위해서는 undefined 상태로 반환되어야 합니다.
- 콜백 파라미터:
resolveData
resolve
AsyncSeriesBailHook
요청이 해결되기 전에 호출됩니다. false를 반환하여 의존성을 무시할 수 있습니다. 모듈 인스턴스를 반환하면 프로세스가 완료됩니다. 그렇지 않으면 계속 진행하기 위해서는 undefined 상태로 반환되어야 합니다.
- 콜백 파라미터:
resolveData
resolveForScheme
AsyncSeriesBailHook
스킴(URI)과 요청이 해결되기 전에 .
- 콜백 파라미터:
resolveData
afterResolve
AsyncSeriesBailHook
요청이 해결되면 호출됩니다.
- 콜백 파라미터:
resolveData
createModule
AsyncSeriesBailHook
NormalModule 인스턴스를 만들기 전에 호출됩니다.
- 콜백 파라미터:
createDataresolveData
createModuleClass
HookMap<SyncBailHook>
모듈을 생성할 때 NormalModule 클래스를 재정의할 수 있는 훅입니다. 이 훅은 createModule 훅 이후와 module 훅 이전에 호출됩니다.
-
훅 파라미터:
identifier -
콜백 파라미터:
createDataresolveData
module
SyncWaterfallHook
NormalModule 인스턴스를 만들기 전에 호출됩니다.
- 콜백 파라미터:
modulecreateDataresolveData
createParser
HookMap<SyncBailHook>
파서 인스턴스를 만들기 전에 호출됩니다. parserOptions는 해당 식별자 또는 빈 개체에 대한 module.parser의 옵션입니다.
-
훅 파라미터:
identifier -
콜백 파라미터:
parserOptions
parser
HookMap<SyncHook>
파서 인스턴스를 만든 후 발생합니다.
-
훅 파라미터:
identifier -
콜백 파라미터:
parserparserOptions
가능한 기본 식별자:
javascript/autojavascript/dynamicjavascript/esmjsonwebassembly/syncwebassembly/asyncasset
createGenerator
HookMap<SyncBailHook>
제너레이터 인스턴스를 만들기 전에 호출됩니다. generatorOptions는 해당 식별자 또는 빈 개체에 대한 module.parser의 옵션입니다.
-
훅 파라미터:
identifier -
콜백 파라미터:
generatorOptions
generator
HookMap<SyncHook>
제너레이터 인스턴스를 만든 후 호출됩니다.
-
훅 파라미터:
identifier -
콜백 파라미터:
generatorgeneratorOptions
가능한 기본 식별자:
jsonwebassembly/syncwebassembly/asyncassetasset/sourceasset/resourceasset/inlineasset/bytes

