阿里Qoder与GLM-5.1专业测评对比
摘要
利用Qoder与GLM-5 1工具,将mall-app-web电商项目从Vue2迁移至Vue3。过程包括搭建uni-app+Vue3脚手架
先亮出一个核心观点:将老项目从 Vue2 迁移到 Vue3,不少团队踩过坑、走过弯路。但只要选对工具、理清策略,整个过程完全可以做到顺畅可控。今天就来拆解我们如何借助 Qoder 和 GLM-5.1,把 mall-app-web 这个电商实战项目的移动端商城,从 Vue2 逐步迁移到 Vue3——每一步都不算轻松,但每一步都有迹可循。
mall-app-web 项目概览
mall-app-web 是 mall 电商实战项目的移动端版本,基于 uni-app+Vue3 重构实现。功能覆盖完整,包括首页门户、商品搜索、商品展示、品牌专区、购物车、订单流程、支付、会员中心等电商核心模块。

- 项目地址:github.com/macrozheng/…
- 文档网站:www.macrozheng.com
项目演示:
(图片占位)
迁移流程详解
搭建 uni-app + Vue3 项目脚手架
迁移的第一步,自然要先搭建一套基于新版 uni-app + Vue3 的脚手架。脚手架不必过于复杂,关键在于确保项目依赖正常运行,核心功能畅通。以 mall-app-web 为例,我们构建了页面框架,并添加了首页、分类、购物车、个人中心等基础页面,页面内容先用空白页占位,先把整体结构撑起来。
(图片占位)
随后配置网络请求、数据存储、目录结构等基础设施。需要注意的是,这套脚手架是从 Vue2 项目手工升级的,当然你也可以直接从 GitHub 拉取一个现成的 Vue3 项目,让 Qoder 基于那个项目进行搭建。
升级后的技术栈变化显著,具体如下:
| 类别 | 技术 | 版本 |
|---|---|---|
| 开发框架 | uni-app | 3.0.0-5000720260410001 |
| 前端框架 | Vue 3 | ^3.5.20 |
| 状态管理 | Pinia | 2.0.27 |
| 持久化方案 | pinia-plugin-persistedstate | ^3.2.0 |
| 构建工具 | Vite | ^5.2.8 |
| 类型系统 | TypeScript | ^5.1.6 |
| CSS 预处理 | Sass | ^1.56.1 |
| 代码规范 | ESLint + Prettier | ^8.22.0 / ^2.7.1 |
| 类型增强 | @uni-helper/uni-app-types | 1.0.0-alpha.6 |
制定迁移进度表
脚手架搭建完成后,下一步关键操作是让 Qoder 生成一份迁移进度表。整个迁移无法一蹴而就,有了这张表,后续任务的推进节奏和完成度就能一目了然。
我们将迁移按页面功能拆分为 9 个阶段,每个页面都对应明确的迁移状态标记。
(图片占位)
Vue2 → Vue3 单页迁移
既然是按页面逐个迁移,就需要一份清晰的单页面迁移计划。操作流程并不复杂,直接输入提示词:
现在想迁移首页`/pages/index/index`对应功能,从vue2升级到vue3,请帮我规划一个迁移计划。
Qoder 会生成对应的计划,你可以根据实际需求灵活调整。迁移完几个页面后,我们可以让 Qoder 生成一个 Skill,用于实现单个页面从 Vue2 到 Vue3 的自动迁移。
生成的 Skill 存放在项目的 .qoder/skills 目录下,整个 Skill 流程分为 7 个阶段。
(图片占位)
使用方法也很简单:在 Qoder 设置中直接导入即可。一旦 Skill 创建完成,每次提到 Vue2升级到Vue3,系统就会自动调用该流程来执行。
(图片占位)
建立开发规范
迁移了几个页面后,问题逐渐暴露。例如项目里已定义通用的分页请求参数和分页结果,但 Qoder 仍会重复定义这些属性;代码命名的规范性也参差不齐。
(图片占位)
(图片占位)
这就需要制定一套开发规范来约束 Qoder 的代码输出。我们让它生成了一份规范文件,存放到了 .qoder/rules 目录下。
(图片占位)
如果你想复用这套规范,可以在 Qoder 的 设置→规则 中导入。如果使用 Claude Code,直接复制到 AGENTS.md 文件里效果一致。
有了规范之后,Qoder 的代码质量明显提升,不会再出现反复定义相同结构的情况。
(图片占位)
API 文档迁移
项目升级到 Vue3 后全面转向 TypeScript,这时又遇到一个新问题:对于网络请求的请求参数和响应结果类型,Qoder 总是根据 Vue2 项目里的代码来推断,准确性难以保证。
好在项目本身有 Swagger 生成的在线 API 文档,因此可以让 Qoder 在定义 API 方法类型时,查阅文档来确定类型。
(图片占位)
但直接解析在线文档效率确实不高。于是我们换了个思路:让 Qoder 根据 API 文档一次性生成本地 MD 文档,之后查询直接走本地文件,速度和准确性都大幅提升。基于这种方法生成的 API 类型定义代码,规范程度相当理想。
(图片占位)
这些生成的 API 文档都存放在项目的 docs/api 目录下,感兴趣的话可以自行查看。
(图片占位)
新功能开发
迁移之外,新功能的开发同样可以顺畅推进。以注册功能为例,输入的提示词如下:
我现在想开发一个用户注册功能,页面样式参考登录页面,直接在register.vue里实现。用户注册包含:username、telephone、password、authCode这些信息,调用接口`/sso/register`获取验证码(authCode)采用模拟方式,发送限制为60s一次,调用接口后弹出一个5s的toast来让用户获取,调用接口`/sso/getAuthCode`
页面效果如下:
(图片占位)
商品搜索功能同样可以复用这套逻辑:
我现在想开发一个商品搜索页,参考项目中的UI风格来实现,包含顶部的搜索栏和下方的搜索记录,搜索记录保留最近10条,存储到pinia之中。交互逻辑为点击首页搜索框 -> 跳转到商品搜索页 -> 输入搜索关键字 -> 跳转到商品列表页面(/pages/product/list)。商品列表页顶部添加搜索栏,显示当前搜索关键字,点击可以跳转到商品搜索页。商品列表页中调用的搜索接口`/product/search`,已经支持搜索功能,添加请求参数`keyword`即可实现。
页面效果如下:
(图片占位)
经验总结
用 Qoder 配合 GLM-5.1 编写代码,效果确实可圈可点。整个迁移过程走下来,以下几点经验值得分享:
- 大任务拆解为小任务,让 AI 逐个完成,效果远强于一次性抛出一个庞大需求。
- 开发规范必须在迁移前确立,AI 编程同样需要“规则意识”。
- 通用的操作流程封装成 SKILL,后续复用效率翻倍。
- 对于流程复杂的任务,先和 AI 讨论计划再执行,能大幅减少返工时间。
- 需要从网页抓取的数据(例如 API 文档),预先生成本地 MD 文档,效率提升非常显著。
项目地址
github.com/macrozheng/…
来源:互联网
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。