codebuddy 不能自动转换 jquery 代码或一键升级类组件,但能加速重构:手动渐进替换适用于复杂 jquery 模块;cli 可迁移类组件为函数组件;design-to-code 适合有 figma 稿的 ui 重建;mcp 脚本可批量处理同构结构。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

CodeBuddy 不能自动把 jQuery 代码转成 React 组件,也不能一键把类组件升级为函数组件并保证逻辑正确。它不替代人工判断,但能显著加速重构过程——关键在于选对方式、明确边界、分阶段验证。
手动渐进式替换(最稳妥)
适合核心业务模块或逻辑复杂、依赖 DOM 操作的 jQuery 代码。目标不是“重写”,而是“解耦+替换”:
- 先在原页面中用 React Root 挂载一个空容器(如
<div id="react-user-list"></div>),把 jQuery 初始化逻辑暂时注释掉 - 新建
UserList.tsx,用useEffect触发首次数据加载,用useState管理列表状态,用onClick替代$().on('click') - 把 jQuery 中的
.html()、.show()、.addClass()等全部删掉,改用 JSX + 条件渲染 + className 动态拼接 - 旧 jQuery 事件绑定解除前,确保新 React 组件已接管对应区域交互,再逐步下线 jQuery 代码
用 CLI 辅助类组件转函数组件
针对已有 React 类组件(非 jQuery),CodeBuddy CLI 可快速完成结构迁移:
- 终端进入项目根目录,运行
codebuddy generate - 输入指令如:“把
src/components/OrderForm.js改为函数组件,用useState管理表单字段,用useEffect加载初始数据,保留所有校验逻辑” - 确认生成后,检查三处重点:state 初始化值是否与原
this.state一致、componentDidMount是否转为useEffect(() => {}, [])、事件方法是否已转为箭头函数或useCallback - 立即运行原有测试,失败项逐个对照修复,不追求一次全过
Design-to-Code 重建 UI 层(适合视觉驱动场景)
如果 jQuery 代码主要围绕动态表格、弹窗、表单等标准 UI 模块,且你有 Figma 设计稿,这条路效率最高:
- 在 CodeBuddy IDE 中启用 Design Mode,粘贴 Figma 共享链接(需开启 Auto Layout)
- 选中“订单筛选面板”图层,右键 → Convert to React Hook Component
- 配置时勾选 Generate TypeScript Interface 和 Include useFetch Hook,让系统自动生成带请求逻辑的骨架
- 生成的
useOrderFilter.ts文件里,补全你原来的筛选条件和防抖逻辑,而非直接复制 jQuery 的$.each()循环
用 MCP 脚本批量处理相似结构
适用于大量同构 jQuery 表格初始化代码(例如 20 个页面都调用 initDataTable('#table-x')):
- 在项目中新建
.codebuddy/mcp/table-migration.mjs - 脚本内定义规则:匹配
initDataTable($selector)调用 → 提取选择器 → 创建对应DataTable组件 → 自动注入data和columnsprops - 执行
codebuddy mcp run table-migration,生成基础组件文件,再人工补全排序、分页等业务逻辑 - 注意:脚本只生成结构,不理解业务含义,比如“点击导出”是调 API 还是触发 iframe 下载,必须人工确认











