Webpack:ContextModuleFactory Hooks

2023-05-11 09:24 更新

?Compiler? 使用 ?ContextModuleFactory? 模塊從 webpack 獨(dú)特的 require.context API 生成依賴關(guān)系。它會解析請求的目錄,為每個文件生成請求,并依據(jù)傳遞來的 regExp 進(jìn)行過濾。最后匹配成功的依賴關(guān)系將被傳入 NormalModuleFactory。

?ContextModuleFactory? 類擴(kuò)展了 ?Tapable? 并提供了以下的生命周期鉤子。 你可以像使用編譯器鉤子一樣使用它們:

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

與 ?compiler? 一樣,?tapAsync? 和 ?tapPromise? 是否可用 取決于鉤子的類型。

beforeResolve

AsyncSeriesWaterfallHook

在解析請求的目錄之前調(diào)用。請求可以通過返回 ?false? 來忽略。

  • 回調(diào)參數(shù):?data?

afterResolve

AsyncSeriesWaterfallHook

在請求的目錄解析后調(diào)用。

  • 回調(diào)參數(shù):?data?

contextModuleFiles

SyncWaterfallHook

讀取目錄內(nèi)容后調(diào)用。在遞歸模式下,也會讀取每個子目錄。回調(diào)參數(shù)是一個包含每個目錄中所有文件和文件夾名稱的數(shù)組。

  • 回調(diào)參數(shù):?fileNames?

alternativeRequests

AsyncSeriesWaterfallHook

在創(chuàng)建請求之后但依據(jù) regExp 進(jìn)行過濾之前,為每個文件調(diào)用。

  • 回調(diào)參數(shù):?request? ?options?


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號