- HBuilderX 4.66 创建 uni-app 项目,build-type 设为 "uni-app-vue"
- 编译到鸿蒙(方式1)
- 删除 build-profile.json5 中的 runtimeOnly(否则 hvigor 构建失败,
因为 .ets 文件不存在) - 方式2构建 .hap 成功
- 安装到鸿蒙模拟器 → 白屏
- 发布:2026-04-30 17:56
- 更新:2026-04-30 17:56
- 阅读:18
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: window11
HBuilderX类型: 正式
HBuilderX版本号: 4.66
手机系统: HarmonyOS NEXT
手机系统版本号: HarmonyOS 6.0.0
手机厂商: 模拟器
手机机型: mate80
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
uni-app-vue build-type 编译鸿蒙时,应产出运行时可加载的文件格式,
或运行时应兼容加载 .js 文件。
uni-app-vue build-type 编译鸿蒙时,应产出运行时可加载的文件格式,
或运行时应兼容加载 .js 文件。
实际结果:
使用 HBuilderX 4.66,build-type 设置为 "uni-app-vue" 编译鸿蒙应用,
编译成功但运行白屏
使用 HBuilderX 4.66,build-type 设置为 "uni-app-vue" 编译鸿蒙应用,
编译成功但运行白屏
bug描述:
使用 HBuilderX 4.66,build-type 设置为 "uni-app-vue" 编译鸿蒙应用, 编译成功但运行白屏
【根因分析】
通过阅读运行时源码 UniNativeApp.ets(第163-192行),确认:
-
运行时通过 ArkTS import() 动态导入 www/import/ 下的 .ets 文件:
- await entryAbility.onImport(
${base}/app-config) // 期望 app-config.ets - await entryAbility.onImport(
${base}/app-service) // 期望 app-service.ets
- await entryAbility.onImport(
-
但 uni-app-vue build-type 编译产出的是 .js 文件,不是 .ets 文件
-
import() 失败后异常被 catch(e) 吞掉,globalThis.mount 未被设置,
Vue 应用无法挂载,导致白屏
0 个回复