W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
解析器是使用 ?enhanced-resolve
? 庫創(chuàng)建的。?Resolver
? 類 拓展了 ?tapable
? 類,并使用 ?tapable
? 來提供了一些鉤子。 ?enhanced-resolve
? 可以直接用于創(chuàng)建新的解析器, 但是任何 ?compiler
? 實(shí)例
都有一些解析器實(shí)例,可以被 ?tap
? 進(jìn)去。
在繼續(xù)閱讀之前,請確保你已經(jīng)讀過 ?enhanced-resolve
? 和 ?tapable
? 文檔。
在 ?compiler
? 類中,提供了三種類型的內(nèi)置解析器:
normal
?: 通過絕對或相對路徑解析模塊。context
?: 在給定的上下文中解析模塊。loader
?: 解析 webpack loader。根據(jù)需要,任一個被使用在 compiler 中的內(nèi)置解析器, 可以通過插件進(jìn)行定制:
compiler.resolverFactory.hooks.resolver
.for('[type]')
.tap('name', (resolver) => {
// you can tap into resolver.hooks now
resolver.hooks.result.tap('MyPlugin', (result) => {
return result;
});
});
其中,?[type]
? 是上述三個解析器之一。
上述解析器也可以 利用 ?resolve
? 或者 ?resolveLoader
? 選項(xiàng),通過配置文件進(jìn)行定制。這些選項(xiàng)允許 用戶可以通過多種選項(xiàng)來更改解析行為,包括 通過解析 ?plugins
?。
解析器插件,例如:?DirectoryNamedPlugin
?,可以直接引入 在 ?resolve.plugins
?,而不是直接在 ?plugins configuration option
? 中使用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: