Vite 的 HMR 让开发者修改代码后,浏览器能在极短时间内更新对应模块,而无需刷新整个页面或重启服务器。
Vite 利用原生 ESM 的模块结构,保存文件时只让被修改的模块及其直接依赖者失效,浏览器通过 import.meta.hot 接口接收更新并替换对应模块,其余模块不受影响。
开发服务器监听文件系统事件,一旦某个源文件被修改,立即定位到受影响的模块边界,并通过 WebSocket 把更新推送到浏览器,实现毫秒级响应,且更新速度与项目规模基本无关。
由于只替换变更的模块而非重载整页,组件状态、表单输入、异步操作等运行时状态得以保留,开发者可以即时看到改动效果,显著缩短反馈循环。