uni-app安卓打包后出现小程序代码
uni-app安卓打包后出现小程序代码
uni-app在vue生命周期函数onLaunch里判断已经存在用户信息则uni.switchTab跳转到tab页,打包成安卓之后控制台里报i.setStyle is not a function; at wx.switchTab,这种错误不是小程序的错误吗,wx对象怎么会出现在安卓里
App.vue
export default {
onLaunch: function() {
try{
let lacUser = uni.getStorageSync('lacUser') || '';
if (lacUser) {
uni.switchTab({
url: '/pages/index/index'
});
}
console.log('App Launch')
}catch(e){
}
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
15:42:34.400 [编译] Compiling… 15:42:35.978 [完成] uni-app 编译完毕 15:42:35.989 项目 ‘testlac’ 编译成功. 15:42:35.999 正在同步手机端程序文件… 15:42:36.249 同步手机端程序文件完成 15:42:36.271 正在重启… 15:42:41.578 appServiceSDKScriptError 15:42:41.598 42:39.469 3356 3356 I console : i.setStyle is not a function; at wx.switchTab 15:42:41.626 42:39.469 3356 3356 I console : TypeError: i.setStyle is not a function 15:42:41.874 App Launch at App.vue:13 15:42:41.894 App Show at App.vue:20
更多关于uni-app安卓打包后出现小程序代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html
onLaunch里调用路由API,注意不要太早,避免和自动跳转pages里第一个页面冲突
更多关于uni-app安卓打包后出现小程序代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html
现在已经解决了,谢谢
这个问题的原因是uni-app在编译时可能残留了小程序平台的代码,导致在安卓端调用了小程序的wx对象。uni.switchTab在H5和App平台实际是调用原生导航,但在你的报错中出现了wx.switchTab,说明编译过程存在问题。
建议解决方案:
- 清理项目并重新编译:
- 删除unpackage、node_modules目录
- 运行
npm install
重新安装依赖 - 重新打包
-
检查manifest.json配置: 确保已正确配置App模块,特别是导航相关设置。
-
使用条件编译:
// #ifdef APP-PLUS
uni.navigateTo({
url: '/pages/index/index'
})
// #endif
// #ifdef MP-WEIXIN
uni.switchTab({
url: '/pages/index/index'
})
// #endif