白狗子的博客

「天上浮云如白衣,斯须改变如苍狗。」——杜甫

Webpack-面试-热更新HMR

2026年10月16日·Admin·1 次浏览

面试题:Webpack HMR 是什么原理?全量刷新 vs 热替换?

HMR(Hot Module Replacement)

不刷新整页的情况下,把变更模块替换进运行中的 bundle,保留应用状态(如表单输入、路由栈)。

大致机制

  1. Webpack Dev Server 与浏览器 WebSocket 通信。
  2. 文件变更 → 编译热更新 chunk → 推送 hash 与更新清单。
  3. 运行时 HMR runtime 拉取补丁,执行 module.hot.accept 回调;未 accept 则回退整页刷新。

框架侧

Vue Loader / React Fast Refresh 等在 loader 层注入 accept 逻辑,开发者少手写。

© 2025 My Blog. Built with Nuxt.js v4