Vite HMR API hot.accept(cb)

要接收模块自身,应使用 import.meta.hot.accept,参数为接收已更新模块的回调函数:

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 实现对于大多数开发用例来说已经足够了,同时允许我们跳过生成代理模块的昂贵工作。

作者:admin,如若转载,请注明出处:https://www.web176.com/vite/23795.html

(0)
打赏 支付宝 支付宝 微信 微信
adminadmin
上一篇 2023年6月7日
下一篇 2023年6月7日

相关推荐

发表回复

登录后才能评论