打包开发模式下的热更新接收边界,在 vite 8.3.4 中新增了一项支持。vite 于 2026 年 10 月 8 日公布的 8.3.4 发布记录,将支持 import.meta.hot.acceptexports 列为功能项;同一版本还修复了启用分块导入映射且使用非根 base 时的预加载行为。

来源:Vite 官方 GitHub 发布记录
这里要明确标注适用范围。新增条目明确归在 bundled-dev,也就是打包开发模式之下,并非要求所有框架都改写热更新代码。Vite 的 HMR 文档说明,手动热更新接口主要面向框架和工具作者,普通应用的相关处理通常已由框架模板完成。不能把底层接口扩展,误写成面向业务开发者的新操作要求。
另一项修复针对生产资源加载。构建时同时启用 chunkImportMap 并把应用部署在非根公共路径下,8.3.4 修正了对应的预加载地址。Vite 的公共 base 负责让构建资源适应部署路径,子目录部署与域名根目录并不是相同场景,这也是发布记录专门保留“非根 base”条件的原因。
预加载辅助逻辑还开始等待正在加载的样式表。按照 官方 modulePreload 配置说明,动态导入对应的依赖列表由 Vite 计算,路径处理又受到 base 的影响。因此,资源地址是否正确和样式资源是否完成加载,是该版本处理的两类问题,不能只凭构建命令正常退出就认为浏览器端的加载顺序已经得到验证。

来源:Vite 官方配置文档
8.3.4 也修正了开发服务器重启期间再次提出的重启请求可能被丢弃的问题;客户端会跳过对未变化的 adopted styles 的重复改写。这些条目分别涉及服务器状态切换和已采用样式表的处理,不是对网络下载速度作出的优化承诺。
其他公开修复包括按路径边界匹配静态别名、扫描使用自定义扩展名的深层导入,以及规范化加入监听范围的文件路径。它们说明该补丁覆盖了模块定位和文件监听中的边界情况,但公告没有给出项目遇到相关故障的比例,也没有提供通用性能增幅。
这份记录对应 10 月 8 日的历史补丁;截至 10 月 27 日,官方已提供后续的 8.3.5。关注上述问题的项目,应把后续发布条目一起纳入评估,而不是把 8.3.4 当作当前最新版,或仅因一个热更新功能项就假定其余实验选项已经稳定。


















