x***@qq.com
x***@qq.com
  • 发布:2026-08-15 09:53
  • 更新:2026-08-15 09:54
  • 阅读:38

【报Bug】5.24版本运行项目完全异常(WEB+APP)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

手机系统: Android

手机系统版本号: Android 16

手机厂商: vivo

手机机型: iqoo

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: CLI

CLI版本号: 5.24

示例代码:

main.ts内容:

import { createSSRApp } from 'vue';  
import * as Pinia from 'pinia';  
import uViewPro, { httpPlugin } from 'uview-pro';  

import App from './App.vue';  
import { httpInterceptor, httpRequestConfig } from './api/req';  

export function createApp() {  
  const app = createSSRApp(App);  
  app.use(Pinia.createPinia()).use(uViewPro).use(httpPlugin, {  
    interceptor: httpInterceptor,  
    requestConfig: httpRequestConfig  
  });  

  return {  
    app,  
    Pinia // uniapp里需要将整个Pinia返回  
  };  
}

操作步骤:

用最新 5.24 cli 运行到h5或者App,应用启动阶段直接报错异常,界面什么都没有

预期结果:

用 5.24 cli运行项目到 h5、App端应用启动正常

实际结果:

用 5.24 cli运行项目到 h5、App端应用启动直接失败异常

bug描述:

已知在旧版包括 5.23 alpha 都一直正常。升到 5.24 稳定版后,运行到web和App下,在应用启动时直接异常失败

WEB端报错:

main.ts:19 TypeError: Cannot assign to read only property '_' of object '#<Object>'
at assign (<anonymous>)
at updateSlots (vue.runtime.esm.js:5820:9)
at updateComponentPreRender (vue.runtime.esm.js:7487:5)
at ReactiveEffect.componentUpdateFn [as fn] (vue.runtime.esm.js:7402:11)
at ReactiveEffect.run (vue.runtime.esm.js:153:19)
at instance.update (vue.runtime.esm.js:7469:17)
at updateComponent (vue.runtime.esm.js:7277:18)
at processComponent (vue.runtime.esm.js:7211:7)
at patch (vue.runtime.esm.js:6666:11)
at patchKeyedChildren (vue.runtime.esm.js:7622:9)
logError @ vue.runtime.esm.js:1443
handleError @ vue.runtime.esm.js:1430
callWithErrorHandling @ vue.runtime.esm.js:1383
flushJobs @ vue.runtime.esm.js:1585
Promise.then
queueFlush @ vue.runtime.esm.js:1494
queueJob @ vue.runtime.esm.js:1488
scheduler @ vue.runtime.esm.js:3179
resetScheduling @ vue.runtime.esm.js:236
triggerEffects @ vue.runtime.esm.js:280
triggerRefValue @ vue.runtime.esm.js:1033
set value @ vue.runtime.esm.js:1078
finalizeNavigation @ vue-router.mjs?v=e0f8e456:2474
(anonymous) @ vue-router.mjs?v=e0f8e456:2384
Promise.then
pushWithRedirect @ vue-router.mjs?v=e0f8e456:2352
push @ vue-router.mjs?v=e0f8e456:2278
install @ vue-router.mjs?v=e0f8e456:2631
use @ vue.runtime.esm.js:5146
initRouter @ uni-h5.es.js:16505
install @ uni-h5.es.js:16574
use @ vue.runtime.esm.js:5146
(anonymous) @ main.ts:19

App端报错:

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught SyntaxError: Unexpected token '='

试过社区内多年前帖子的相关解决方法都无效,目前暂退回 5.23 保命

2026-08-15 09:53 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

好的,收到你的 bug 反馈。作为 DCloud 官方人员,我对这个反馈进行如下评审和分析:

1. 反馈质量评审

这个 bug 反馈的整体质量较高,关键信息提供得比较清晰,但存在一些影响复现的缺失。

  • BUG 标题与描述:标题和描述准确地概括了核心问题:升级到 5.24 正式版后,Vue3 项目运行到 Web 和 App 端在启动阶段直接异常,并提供了详细的报错堆栈。描述清晰,官方人员能够看懂。
  • 代码示例:不完整。你只提供了 main.ts 的内容,但其中引入了 uview-prohttpPlugin 以及自定义的 httpInterceptorhttpRequestConfig。这些第三方库和自定义配置往往是导致编译或运行异常的直接原因。建议补充这些相关依赖的代码或提供一个最简可复现的完整工程
  • 复现步骤:描述得比较简单:“用最新 5.24 cli 运行到h5或者App”。但由于缺少完整的代码示例,官方人员无法直接根据复现步骤成功复现问题。
  • 预期结果:“应用启动正常”是完全合理的预期。
  • 实际结果:“应用启动直接失败异常”,这个结果对用户来说是不正常的,属于功能异常。
  • 分类信息:非常完整。包含了操作系统(Win11)、HBuilderX 版本(5.24 正式版)、手机 OS 平台及版本(Android 16)、Vue 版本(Vue3)和机型(iqoo),这为我们排查问题提供了很好的基础。

评审结论:反馈有效,但若能提供一个包含相关依赖的最简复现工程,将极大提升问题处理的优先级和效率。

2. 问题分析与排查

根据反馈内容,在知识库中暂未找到与 5.24 版本完全匹配的已知 Issue 记录。但从报错信息来看,可以推断出以下方向:

  • Web端报错分析TypeError: Cannot assign to read only property '_' of object '#<Object>' 发生在 Vue 的 updateSlotsupdateComponentPreRender 阶段。这通常是因为在 Vue3 的响应式系统中,尝试修改了一个被冻结或只读的对象属性。结合 main.ts 中的代码,极有可能是 uview-pro 或其 httpPlugin 在处理插槽或内部状态时与 Vue3 的响应式机制产生了冲突,或者该库尚未完全兼容当前使用的 Vue3 版本。
  • App端报错分析Uncaught SyntaxError: Unexpected token '=' 通常意味着编译后的 JS 代码存在语法错误。这可能是由于第三方库(如 uview-pro)在编译阶段被错误处理,或者其内部代码使用了当前编译器不支持的语法。

排查建议

  1. 隔离第三方库:尝试在 main.ts 中暂时注释掉 app.use(uViewPro).use(httpPlugin, {...}) 相关代码,观察应用是否能正常启动。如果正常,则说明问题出在 uview-pro 插件上。
  2. 检查依赖版本:确认 uview-pro 是否声明兼容 Vue3,并检查 package.jsonvueuview-pro 的版本,尝试更新到最新版本。
  3. 清理缓存:在 HBuilderX 中运行时,勾选“清空缓存”选项重新编译运行,排除因升级导致的缓存错乱。

如果以上步骤均无法解决,这很可能是一个由特定项目结构或第三方库触发的升级兼容性 Bug。请将你的项目(可脱敏处理后)通过 issues 系统或私聊提供给官方人员,我们会进行深入排查。

内容为 AI 生成,仅供参考

要回复问题请先登录注册