Vite HMR API hot.accept(cb)

2023-02-17 11:41 更新

要接收模塊自身,應(yīng)使用 import.meta.hot.accept,參數(shù)為接收已更新模塊的回調(diào)函數(shù):

export const count = 1

if (import.meta.hot) {
  import.meta.hot.accept((newModule) => {
    console.log('updated: count is now ', newModule.count)
  })
}

“接受” 熱更新的模塊被認(rèn)為是 HMR 邊界。

請注意,Vite 的 HMR 實際上并不替換最初導(dǎo)入的模塊:如果 HMR 邊界模塊從某個依賴重新導(dǎo)出其導(dǎo)入,則它應(yīng)負(fù)責(zé)更新這些重新導(dǎo)出的模塊(這些導(dǎo)出必須使用 ?let?)。此外,從邊界模塊向上的導(dǎo)入者將不會收到更新。

這種簡化的 HMR 實現(xiàn)對于大多數(shù)開發(fā)用例來說已經(jīng)足夠了,同時允許我們跳過生成代理模塊的昂貴工作。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號