要接收模塊自身,應使用 import.
export const count = 1
if (import.meta.hot) {
import.meta.hot.accept((newModule) => {
console.log('updated: count is now ', newModule.count)
})
}
“接受” 熱更新的模塊被認為是 HMR 邊界。
請注意,Vite 的 HMR 實際上并不替換最初導入的模塊:如果 HMR 邊界模塊從某個依賴重新導出其導入,則它應負責更新這些重新導出的模塊(這些導出必須使用 ?let
?)。此外,從邊界模塊向上的導入者將不會收到更新。
這種簡化的 HMR 實現(xiàn)對于大多數(shù)開發(fā)用例來說已經(jīng)足夠了,同時允許我們跳過生成代理模塊的昂貴工作。
更多建議: