TONG-H

ai 实践-项目迁移

5301Frontendai2025-07-202026-06-01

背景

需要将页面从一个旧项目迁移到新项目,由于我对这两个项目都完全陌生,对功能也不熟悉,所以我的原则是:小心翼翼,确保安全稳定

这两个项目基于不同的技术栈:

  • 旧项目: React 15、Webpack、jQuery、内部 UI 框架
  • 新项目: React 16.8+、TypeScript、Redux、Vite、Axios、Ant Design

实现

  • 技术栈差异
    • 显而易见的 JS 与 TS 的区别
    • 类组件(带有生命周期方法)与函数组件(使用 Hooks)等的转换
    • 应重构或移除直接的 DOM 操作或 jQuery 的使用
  • UI 与样式差异
    • 两个项目都使用 SCSS
    • 旧项目使用通过 CDN 引入的 Bootstrap,而新项目使用现代框架 Ant Design
  • API 调用
    • 从 jQuery 迁移到 带有 API 服务封装的 Axios
  • 构建差异
    • 主要集中在代理(proxy)配置上
  • 项目结构
    • 必须遵循新项目的目录结构

我不能粘贴代码,但我可以分享一些经验供未来参考

  • 由于我对代码不熟悉,任何改动都意味着需要投入额外的验证时间,所以安全起见,就挨个页面迁移以及挨个验证。
  • 一旦完成一个页面的迁移,就可以引导 AI 模型学习这次迁移过程,并将所获经验应用到下一个页面的迁移中
  • 技术栈差异部分对 AI 来说相对简单。在分析了两个项目的代码库后,模块可以识别技术栈差距,生成转换计划并快速执行。
  • 依赖环境信息(如 location)的功能(如 URL 跳转或相对文件路径)必须反复检查——这些可能需要手动进行微调!
  • 在迁移过程中,大模型可能会出于优化目的在未通知用户的情况下删除或修改代码。这个需要注意,因为对于迁移本身,我希望它是安全稳定的,基本上就是将代码从一处搬到另一处,不要改变任何业务逻辑和功能。