uni-app HBuilderX 3.8.12升级到4.15后手机端白屏,报异常

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

uni-app HBuilderX 3.8.12升级到4.15后手机端白屏,报异常

reportJSException >>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->
Uncaught TypeError: (void 0) is not a function
at  (app-service.js:2844:25)
at  (app-service.js:61998:3)  
9 回复

先参考下这个 https://ask.dcloud.net.cn/question/191289 确认是否为同一个问题


不是一个问题

回复 b***@qq.com: 提供一个简单测试工程,我们来排查

这样改就好了,app端错误不明显,H5方式启动错误信息准确
// const files = import.meta.globEager(’./.js’); // hbuilder升级到4以后需要修改的代码 const files = import.meta.glob(’./.js’, { eager: true });

大佬,牛皮!!这个改完后,真机和模拟器运行都没问题,ios云打包后安装,启动页完了,就直接白屏可能是什么问题啊?

回复 1***@qq.com: 没有ios场景,大佬可以研究研究分享出来

22:44:41.619 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: (void 0) is not a function at (app-service.js:96148:27) at (app-service.js:96254:3)
升级到 4.36,报这个错,跑不起来,现在有标准解吗?

我想用升级中心的功能,致少要4。31,

针对您提到的uni-app在HBuilderX从3.8.12升级到4.15后手机端白屏并报异常的问题,这通常是由于版本升级后项目配置、依赖或代码兼容性问题导致的。以下是一些可能的解决步骤和相关的代码检查及修改示例,以帮助您定位并解决问题。

1. 检查项目配置

首先,确保manifest.jsonpages.json等配置文件中的设置与新版HBuilderX兼容。特别是app-plus相关的配置,因为这部分配置直接影响到APP的打包和运行。

// manifest.json 示例检查
{
  "mp-weixin": {},
  "app-plus": {
    "name": "your-app-name",
    "version": {
      "name": "1.0.0",
      "code": "100"
    },
    // 确保其他相关配置正确无误
  }
}

2. 清理项目并重新构建

有时候,旧的构建缓存可能会导致问题。尝试清理项目并重新构建:

# 在HBuilderX的终端中运行
npm run clean  # 如果有定义这个脚本
npm run build

3. 检查依赖版本

确保所有依赖包都与uni-app的最新版本兼容。特别是@dcloudio/uni-app@dcloudio/uni-mp-weixin等核心依赖。

// package.json 示例
{
  "dependencies": {
    "@dcloudio/uni-app": "^最新版本号",
    "@dcloudio/uni-mp-weixin": "^最新版本号",
    // 其他依赖
  }
}

运行npm update或手动修改package.json后运行npm install来更新依赖。

4. 检查代码兼容性

如果以上步骤未能解决问题,可能是代码中使用了某些已被废弃或在新版本中不支持的特性。检查控制台输出的异常信息,定位到具体代码行,并根据新版uni-app的文档进行修改。

例如,如果使用了旧版的API,需要替换为新版API:

// 旧版API
uni.showToast({
  title: 'Hello',
  duration: 2000
});

// 假设新版API有变化(仅为示例,实际情况需参考文档)
uni.showToast({
  message: 'Hello',
  duration: 2000
});

5. 查看日志和异常信息

最后,仔细查看手机端的控制台日志和HBuilderX的输出信息,找到具体的异常类型和错误代码,这将是解决问题的关键。

如果以上步骤仍然无法解决问题,建议查阅uni-app的官方社区或提交issue,获取更专业的帮助。

回到顶部