小程序uniapp踩坑
uniapp 小程序开发常见问题及解决方案
跨端兼容性问题
不同平台小程序存在API差异,例如微信小程序与支付宝小程序的支付接口不同。建议使用条件编译处理平台差异,通过#ifdef MP-WEIXIN和#ifdef MP-ALIPAY区分代码逻辑。
样式兼容问题
部分CSS属性在小程序环境不支持,例如position: fixed在部分场景失效。推荐使用Flex布局替代,避免使用过于复杂的CSS选择器。小程序中rpx单位可能存在换算差异,建议通过实际设备测试确认效果。

生命周期差异
小程序页面生命周期与uniapp生命周期需要正确对应。注意onLoad对应beforeCreate,onShow对应activated。避免在错误的生命周期执行DOM操作,组件生命周期需使用created而非mounted。
路由跳转限制
小程序路由层级通常限制为10级,超出会导致跳转失败。推荐使用uni.reLaunch重置路由栈,或通过uni.redirectTo替换当前页面。传递复杂对象参数时需先序列化为字符串。

图片资源处理
本地图片建议放在static目录下,避免使用动态绑定的相对路径。网络图片需配置域名白名单,iOS设备可能遇到WebP格式兼容问题,建议提供备用JPEG格式。
性能优化要点
避免在页面中绑定过多数据,大数据列表使用scroll-view分页加载。自定义组件需设置virtualHost属性提升渲染性能,高频触发的函数应使用防抖节流控制。
调试技巧
真机调试时开启vConsole,开发阶段启用"lazyCodeLoading": "requiredComponents"加速编译。使用uni.getSystemInfo获取设备信息进行兼容性判断,异常捕获推荐使用error.vue全局监听。






