uni-app 真机模式引入 VConsole 后出现白屏问题

发布于 1周前 作者 eggper 来自 Uni-App

uni-app 真机模式引入 VConsole 后出现白屏问题

项目创建方式 开发环境 版本号
HBuilderX Windows 3.99

操作步骤:

// 引入 VConsole
import VConsole from ‘vconsole’;
if (Constants.VUE_APP_VCONSOLE == ‘YES’) {
let vConsole = new VConsole();
app.use(vConsole);
}
在H5浏览器上没有问题在手机真机模式下报错
Uncaught TypeError: Cannot read property ‘sendBeacon’ of undefined

显示白屏

预期结果:

解决白屏

实际结果:

H5没有问题在app真机模式白屏

e40d58af2aa8c5196530297f9cfedf49


2 回复

是的,VConsole在uniapp中仅支持h5端,不支持app


在 uni-app 中引入 VConsole 后出现白屏问题,可能是由于以下原因导致的。你可以按照以下步骤进行排查和解决:

1. 确保 VConsole 正确引入

首先,确保你在项目中正确引入了 VConsole。通常,你可以在 main.jsApp.vue 中引入 VConsole:

import VConsole from 'vconsole';

// 在开发环境下启用 VConsole
if (process.env.NODE_ENV === 'development') {
  new VConsole();
}

2. 检查 VConsole 版本

确保你使用的是最新版本的 VConsole。旧版本可能存在兼容性问题。你可以通过以下命令更新 VConsole:

npm install vconsole@latest --save

3. 检查 uni-app 版本

确保你的 uni-app 版本是最新的,旧版本可能存在兼容性问题。你可以通过以下命令更新 uni-app:

npm install @dcloudio/uni-app@latest --save

4. 检查打包配置

manifest.json 中,确保你没有启用某些可能导致问题的配置。例如,检查是否启用了 "minify": true 或其他压缩配置,这些配置可能会影响 VConsole 的正常运行。

5. 检查代码冲突

确保你的代码中没有与 VConsole 冲突的部分。例如,检查是否有其他代码在 console 对象上进行了重写或拦截。

6. 检查真机环境

有时,白屏问题可能只在特定的真机环境中出现。尝试在不同的设备或模拟器上运行,看看问题是否依然存在。

7. 调试白屏问题

如果以上步骤都无法解决问题,你可以尝试以下方法来进一步调试:

  • App.vueonLaunch 生命周期钩子中添加日志,检查 VConsole 是否正确初始化:
export default {
  onLaunch() {
    console.log('App launched');
    if (process.env.NODE_ENV === 'development') {
      new VConsole();
    }
  }
}
  • 使用 Chrome 的远程调试功能,连接真机设备,查看控制台输出,检查是否有错误信息。

8. 使用替代调试工具

如果 VConsole 仍然无法正常工作,你可以考虑使用其他调试工具,例如 eruda

import eruda from 'eruda';

if (process.env.NODE_ENV === 'development') {
  eruda.init();
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!