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



