智能客服
你问我答,随时在线为你解决问题
赵勇123456【版本信息】:

、无真机,用的云真机(不同的云真机测试都一样;例如nova14pro)
【复现代码】:无法提供,
指针不迷茫开发者你好,白屏的问题是因为JS引擎在执行代码的时候报错了,可能是方法不支持也可能是写法上存在兼容性问题,可以参考这篇文章uni-app调试说明,最重要的是文章最后部分的说明。
以下是uni-app白屏问题定位参考方案:
【问题定位】
| 步骤 | 动作 | 难度 | 作用 | 约束 |
|---|---|---|---|---|
| 1 | 观察HBuiler控制台日志 | 简单,快速 | 修改显性报错 | 不适用于有桥接ArkTS插件的情况 |
| 2 | 运行到浏览器,检查F12是否报错 | 简单,快速 | 修改显性报错 | 不适用于有桥接ArkTS插件的情况 |
| 3 | 通过deveco检查应用报错 | 简单,快速 | 主要确认应用启动错误 | / |
| 4 | 通过JSVM调试查看是否有报错 | 中等 | 修改显性报错 | / |
| 5 | 通过DevTools查看子页/元素是否加载 | 中等 | 定界父页面还是子页面的问题 | / |
| 6 | 二分法排查:修改pages.json旁路部分页面 | 复杂,困难 | 定界 | / |
| 7 | 通过JSVM调试调试JS代码 | 复杂,困难 | 代码调试 | / |
定位步骤:
条件编译未命中HarmonyOS平台。
页面元素受v-if、v-show、样式影响没有渲染,可通过DevTools查看元素是否挂载到DOM树上。
请求数据的方法未执行。
观察HBuilder报错。
运行到浏览器,通过F12查看是否有报错。
打开deveco,过滤应用和日志级别,检查关键错误。
通过JSVM调试查看页面是否有报错。
{
"pages": [
{
"path": "pages/index/index",
"style": {
"navigationStyle":"custom" ,
"navigationBarTitleText": "index"
}
},
{
"path": "pages/index2/index2",
"style": {
"navigationStyle":"custom" ,
"navigationBarTitleText": "index2"
}
},
{
"path" : "pages/webview/webview",
"style" : {
"navigationBarTitleText" : "huawei"
}
}
]
}【分析结论】
通过HbuilderX、浏览器开发者工具、DevEco Studio的日志可以获取一些明显的错误信息然后解决。uni-app插件可能在JS引擎未执行加载页面的代码时就运行出错导致白屏,可以在JSVM调试时提前勾选遇到异常自动断点即可定位到运行出错前的代码。最后还没解决可以通过二分法注释关键文件定界白屏原因。
【常见FAQ】
Q:JSVM调试加载不出源码怎么办?
A:请参考解决方案
Q:运行hdc命令报错提示找不到hdc命令。
A:hdc命令工具在DevEco Studio目录下,路径为:${DevEco Studio安装目录}\sdk\default\openharmony\toolchains。将此路径配置为环境变量即可。
Q:devtools调试JS代码,根据堆栈信息定位到Vue全局对象app报错undefined,下一步如何分析?
A:观察报错的第一场景,如果是媒体资源(图片,视频等),在项目中搜索该媒体资源是否作为对象导出,导出后在css、JS中使用不当,也会导致加载全局对象app异常,从而项目出现白屏问题。
【背景知识】
| 页面渲染 | 逻辑执行 | |
|---|---|---|
| 运行时 | 大部分是webview渲染,少量ArkUI渲染 | JSVM |
| 主要运行内容 | html,css | 业务逻辑:app-config-service.js,app-service.js |
| 体现 | 通过显示布局边界看出,顶部NavigationBar是ArkUI渲染,下方主体内容是webview渲染。 | 可通过HarmonyOS提供的JSVM调试工具连接JSVM,对逻辑执行进行调试。 |
| 序号 | 文件 | 入口 | 作用 |
|---|---|---|---|
| 1 | index.html | / | 项目入口 |
| 2 | main.js | 由index.html拉起 | uniapp的入口文件 |
| 3 | App.vue | 由main.js拉起 | uniapp的主组件 |
| 4 | manifest.json | 全局配置文件 | 应用的全局配置文件,指定应用的名称、图标、权限等 |
| 5 | pages.json | 被合并到app-config-service.js中,由uniapp框架拉起 | 配置页面的路径、窗口样式、导航栏、tabbar等 |
赵勇123456
指针不迷茫回复赵勇123456
赵勇123456回复指针不迷茫
我要提问题
Electron启动白屏如何定位
HarmonyOS HTML页面用a标签拨打电话,HarmonyOS会跳转白屏页面,怎么解决(API12+)
HarmonyOS 通过NodeContainer保存状态白屏(API12+)
HarmonyOS 启动白屏(API12+)
HarmonyOS 桌面小组件开发,卡片白屏问题如何排查 (API12+)
HarmonyOS 文件解压到沙箱里后,用WebView打开HTML页面空白 (API12+)
HarmonyOS 设备升级到后,录屏以后出现黑屏 (API12+)
HarmonyOS 使用webview加载H5页面,显示白屏,URL通过浏览器可以正常访问。 (API12+)
智能客服
你问我答,随时在线为你解决问题
合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功