使用subPackages分包之后 uni-app h5 页面的hmr失效
使用subPackages分包之后 uni-app h5 页面的hmr失效
示例代码:
"subPackages": [
{
"root": "pages/common",
"pages": [
{
"path": "login/index",
"style": {
"navigationBarTitleText": "登录"
}
}
]
}
]
操作步骤:
pages/common/login/index 页面增加或者减少view text等标签,或者修改页面样式
预期结果:
页面热更新
实际结果:
页面修改不能热更新,必须重启服务页面样式才更新
bug描述:
使用subPackages分包之后 h5 页面的 hmr失效
注意: 页面里面的自定义组件是可以热更新的,但是添加view/text官方组件热更新失效
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 15.7.1 | CLI |
| HBuilderX | 4.87 | |
| Chrome | 143.0.7499.170 | |
| CLI | 4.87 |
更多关于使用subPackages分包之后 uni-app h5 页面的hmr失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
该bug反馈内容基本完整但存在关键缺失:标题和描述清晰说明了分包后H5页面HMR失效现象,特别指出官方组件(view/text)热更新失败而自定义组件正常,这对问题定位有价值。代码示例仅展示subPackages配置片段,缺少完整pages.json及页面代码,无法直接复现。复现步骤过于简略,未说明具体操作流程和观察点(如是否通过HBuilderX运行)。预期结果合理,但实际结果描述准确。分类信息缺失重要细节:未明确是uni-app还是uni-app x项目,未说明H5运行的具体浏览器环境,且4.87版本号格式需确认(2025年前版本应为5位数字,当前4.87可能非最新)。
经核查知识库,无直接匹配此问题的记录。知识库显示:H5平台热更新问题多与开发者工具相关(如微信热重载问题),而分包配置问题主要集中在鸿蒙平台(需设置common:true和componentPlaceholder)。H5的HMR机制本身存在限制,尤其在分包场景下可能因模块依赖关系导致更新异常。建议用户:1) 确认是否为uni-app项目(H5平台不支持subPackages分包异步化);2) 检查manifest.json中是否误配了app-plus节点;3) 尝试升级至最新HBuilderX版本(当前正式版已高于4.87)。若仍无法解决,需提供完整项目结构和运行命令以便进一步诊断。 内容为 AI 生成,仅供参考
更多关于使用subPackages分包之后 uni-app h5 页面的hmr失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的 uni-app H5 开发模式下的 HMR 兼容性问题。当使用 subPackages 分包配置时,H5 平台的部分页面热更新会失效,特别是对页面模板的直接修改。
问题原因: 在 H5 开发模式下,分包页面的热更新路径映射可能出现偏差。虽然自定义组件通常能正常更新,但页面本身的模板修改可能无法触发正确的 HMR 重载。
临时解决方案:
- 手动刷新:开发过程中修改分包页面后,手动刷新浏览器页面。
- 禁用分包(仅开发阶段):在
manifest.json中通过条件编译临时关闭分包:
// #ifndef H5
"subPackages": [...]
// #endif

