uni-app vue版本选择vue3时编译到微信小程序目前发现的bug

uni-app vue版本选择vue3时编译到微信小程序目前发现的bug

错误信息及解决方案

  1. 在vue3版本下,编译到微信小程序时,main.js中如果初始化使用到uni的api会报错,例如:

    let sys = uni.getSystemInfoSync()
    

    错误信息:

    TypeError: Cannot read property 'getSystemInfoSync' of undefined
    
  2. 在vue3版本下,组件中使用behaviors编译到微信小程序也会报错,例如:

    behaviors: ['uni://form-field']
    

    错误信息:

    ReferenceError: __PLATFORM_PREFIX__ is not defined
    

更多关于uni-app vue版本选择vue3时编译到微信小程序目前发现的bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

顶一下 同时通知官方 整个 uniui也没法用了 各种报错

更多关于uni-app vue版本选择vue3时编译到微信小程序目前发现的bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html


顶一下,同报错

问题1未重现,可以更新最新的HBuilderX Alpha或cli 验证 问题2已确认,预计 HBuilderX Alpha3.3.2 修复

最新HBuilderX Alpha已修复

在vue3 script setup如何使用此功能

针对您提到的两个bug,以下是具体分析和解决方案:

1. main.js 中 uni API 初始化报错 该问题是由于 Vue 3 的 main.js 执行时机早于 uni-app 框架初始化导致的。在 Vue 3 中,main.js 的代码会在小程序环境准备好之前执行,此时 uni 对象尚未挂载。

解决方案: 将初始化逻辑移至 onLaunch 生命周期钩子中。在 App.vue 中:

export default {
  onLaunch() {
    let sys = uni.getSystemInfoSync()
    // 其他初始化代码
  }
}
回到顶部