uni-app vue版本选择vue3时编译到微信小程序目前发现的bug
uni-app vue版本选择vue3时编译到微信小程序目前发现的bug
错误信息及解决方案
-
在vue3版本下,编译到微信小程序时,
main.js中如果初始化使用到uni的api会报错,例如:let sys = uni.getSystemInfoSync()错误信息:
TypeError: Cannot read property 'getSystemInfoSync' of undefined -
在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
顶一下 同时通知官方 整个 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()
// 其他初始化代码
}
}

