uni-app 适合多端复用,但多端不是完全一致。项目维护时要重点关注运行端差异、条件编译、组件兼容和平台能力限制。
Vue2 和 Vue3 项目怎么选
新项目优先评估 Vue3 版本;老项目如果基于 Vue2,先确认插件、组件库和目标端是否支持再迁移。
| 类型 | 适合场景 |
|---|---|
| Vue2 项目 | 老项目维护、旧插件依赖较多 |
| Vue3 项目 | 新项目、组合式 API、长期维护 |
H5、App、小程序为什么表现不一致
不同端底层运行环境不同:
- H5 运行在浏览器。
- App 运行在 App 容器和原生能力之上。
- 微信小程序运行在小程序环境。
因此样式、组件、API、生命周期、权限表现都可能不同。重要功能要按目标端分别测试。
条件编译怎么用
1 | // #ifdef MP-WEIXIN |
条件编译适合处理平台差异,但不要滥用。差异太大时应考虑拆组件或拆服务。
页面生命周期和 Vue 生命周期怎么区分
页面级逻辑优先使用页面生命周期,例如 onLoad、onShow。组件内部逻辑使用 Vue 生命周期。
常见问题是把页面参数读取写进组件生命周期,导致返回页面、切换 tab 或分享进入时状态不一致。
小程序端包体积过大怎么办
可以考虑:
- 开启分包。
- 图片放 CDN。
- 删除不用的依赖。
- 避免引入完整工具库。
- 拆分大页面。
App 端权限问题怎么排查
先确认:
- manifest 权限是否配置。
- 运行端是否真的支持该 API。
- Android 和 iOS 权限表现是否不同。
- 用户拒绝权限后的兜底提示是否完整。