Uni-app 开发专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1cf5565c/uniapp-expert。
技能介绍
uni-app 开发中的具体问题
在 uni-app 全栈开发中,开发者经常面临 Vue2 到 Vue3 的迁移难题,以及微信小程序自动化测试的复杂配置。例如,v-model 语法变化、生命周期钩子调整、状态管理库从 Vuex 切换到 Pinia,都可能导致代码出错。同时,微信小程序的自动化测试涉及环境设置、端口管理和选择器定位,容易因配置错误而失败。
技能如何工作
该技能提供一套完整的解决方案,核心能力包括:
- Vue2→Vue3 迁移检查清单:涵盖生命周期钩子(如
destroyed改为unmounted)、全局 API(如new Vue()改为createSSRApp())、模板语法(如slot改为v-slot)等关键点,确保迁移过程系统化。 - Vue3 开发指南:推荐使用 Composition API 和
ref/reactive响应式数据,并提供常用 Composables 如useRequest和useLoading的示例。 - 微信小程序自动化测试流程:从环境准备(如开启自动化端口
9420)、编译输出目录验证(unpackage/dist/dev/mp-weixin),到使用WeappTestRunnerAPI 执行测试,包括navigate、click和input等方法。
关键步骤包括:
- 在迁移前执行检查清单,逐步处理组件选项和 API 变化。
- 对于自动化测试,先使用
cli auto命令开启端口,再通过脚本调用screenshot和get_results验证结果。
适用边界与注意事项
该技能主要适用于 uni-app 项目的开发、迁移和测试场景,但需注意:
- 迁移限制:Vue2 的选项式 API 在 Vue3 中仍兼容,但复杂逻辑建议转向 Composition API;超长字符串(如 base64 编码)在转写时可能出错,需人工验证。
- 测试环境依赖:微信小程序自动化测试要求开发者工具开启自动化权限,且端口
9421必须正常监听;使用错误的选择器(如tap而非click)会导致脚本失败。 - 版本兼容性:uni-app 页面生命周期(如
onUnload)保持不变,但 Vue 组件生命周期有差异;第三方库需检查uni_modules兼容性。
总之,该技能聚焦于实用工具和清单,帮助开发者高效应对 uni-app 开发中的常见痛点,但实施时需结合项目实际情况调整。
使用场景
- 将 uni-app 项目从 Vue2 选项式 API 迁移到 Vue3 Composition API 时,需要逐项检查生命周期钩子如 `destroyed` 到 `unmounted` 的变更,并确保页面生命周期 `onUnload` 等保持不变。
- 使用 Vue3 Composition API 开发 uni-app 新页面时,需组织逻辑复用,例如将超过 50 行的异步请求和 loading 状态抽取为 `useRequest` 等 Composable。
- 为微信小程序项目配置自动化测试环境,包括开启微信开发者工具的自动化端口、验证编译输出目录 `unpackage/dist/dev/mp-weixin`,并编写测试脚本执行 `navigate` 和 `click` 操作。
- 处理 uni-app 项目中的状态管理升级,将 Vuex 实例迁移至 Pinia,并更新组件中的 `$store` 调用为 `useStore()` 函数,同时适配 Vue3 的响应式数据写法。
适合人员
- 负责 uni-app Vue2 项目迁移至 Vue3 的前端工程师,需要确保组件兼容性和生命周期正确转换。
- 使用 Vue3 Composition API 开发跨平台应用的开发者,追求更清晰的逻辑复用和类型推导。
- 执行微信小程序自动化测试的 QA 工程师,需从环境配置到脚本编写全流程实战。
- 处理 uni-app 状态管理从 Vuex 到 Pinia 迁移的全栈开发人员,关注性能优化和代码维护性。