NormalModuleFactory
모듈은 컴파일러
에서 모듈을 생성하는데 사용됩니다. 엔트리 포인트에서 시작하여 각 요청을 해결하고, 내용을 파싱하여 추가 요청을 찾고, 모든 파일을 해결함으로써 크롤링하고 새 파일을 파싱합니다. 마지막 단계에서는 각 의존성이 모듈 인스턴스가 됩니다.
NormalModuleFactory
클래스는 Tapable
을 확장하고 다음과 같은 라이프사이클 훅을 제공합니다. 컴파일러 훅도 같은 방식으로 탭 할 수 있습니다.
NormalModuleFactory.hooks.someHook.tap(/* ... */);
NormaleModuleFactory는 HooksMaps에서 액세스 할 수 있는 파서
와 제너레이터
인스턴스를 연결합니다.
NormalModuleFactory.hooks.someHook.for('identifier').tap(/* ... */);
컴파일러
와 마찬가지로 tapAsync
및 tapPromise
도 훅의 유형에 따라 사용할 수 있습니다.
AsyncSeriesBailHook
새 의존성 요청이 발견되면 호출됩니다. 의존성은 false
를 반환하여 무시할 수 있습니다. 그렇지 않으면 계속 진행하기 위해서는 undefined
상태로 반환되어야 합니다.
resolveData
AsyncSeriesBailHook
해결을 시작하기 전에 호출됩니다. 계속 진행하기 위해서는 undefined
상태로 반환되어야 합니다.
resolveData
AsyncSeriesBailHook
요청이 해결되기 전에 호출됩니다. false
를 반환하여 의존성을 무시할 수 있습니다. 모듈 인스턴스를 반환하면 프로세스가 완료됩니다. 그렇지 않으면 계속 진행하기 위해서는 undefined
상태로 반환되어야 합니다.
resolveData
AsyncSeriesBailHook
스킴(URI)과 요청이 해결되기 전에 .
resolveData
AsyncSeriesBailHook
요청이 해결되면 호출됩니다.
resolveData
AsyncSeriesBailHook
NormalModule
인스턴스를 만들기 전에 호출됩니다.
createData
resolveData
HookMap<SyncBailHook>
모듈을 생성할 때 NormalModule
클래스를 재정의할 수 있는 훅입니다. 이 훅은 createModule
훅 이후와 module
훅 이전에 호출됩니다.
훅 파라미터: identifier
콜백 파라미터: createData
resolveData
SyncWaterfallHook
NormalModule
인스턴스를 만들기 전에 호출됩니다.
module
createData
resolveData
HookMap<SyncBailHook>
파서
인스턴스를 만들기 전에 호출됩니다. parserOptions
는 해당 식별자 또는 빈 개체에 대한 module.parser의 옵션입니다.
훅 파라미터: identifier
콜백 파라미터: parserOptions
HookMap<SyncHook>
파서
인스턴스를 만든 후 발생합니다.
훅 파라미터: identifier
콜백 파라미터: parser
parserOptions
가능한 기본 식별자:
javascript/auto
javascript/dynamic
javascript/esm
json
webassembly/sync
webassembly/async
asset
HookMap<SyncBailHook>
제너레이터
인스턴스를 만들기 전에 호출됩니다. generatorOptions
는 해당 식별자 또는 빈 개체에 대한 module.parser의 옵션입니다.
훅 파라미터: identifier
콜백 파라미터: generatorOptions
HookMap<SyncHook>
제너레이터
인스턴스를 만든 후 호출됩니다.
훅 파라미터: identifier
콜백 파라미터: generator
generatorOptions
가능한 기본 식별자:
json
webassembly/sync
webassembly/async
asset
asset/source
asset/resource
asset/inline