前端开发者用 AI 编程的实战工作流
前端是最适合 AI 协作的方向之一:组件结构稳定、样式语义清晰、TypeScript 类型可验证。本文给前端工程师一份具体到任务的实战工作流。
一、为什么前端特别适合 AI
| 因素 | 解释 |
|---|---|
| 模式化高 | 组件 / hooks / route 都有套路 |
| 类型系统强 | TypeScript 自动验证 |
| 视觉可验证 | 浏览器一看就知道对错 |
| 工具生态完整 | ESLint / Prettier 自动修风格 |
| Stack 集中 | React + Tailwind 是绝对主流 |
二、组件生成
> 在 src/components/user-card/ 下创建 UserCard 组件:
> - props: name, email, avatarUrl, role
> - role 是 'admin' | 'user' | 'guest',不同 role 显示不同 badge 颜色
> - 用 Tailwind,符合项目设计系统(看 src/styles)
> - 写 *.test.tsx 用 RTL 测三个 role 的渲染
> - 加 .stories.tsx 故事
Cursor Composer 一次性给完整文件。关键是 prompt 里说清”看 src/styles”——它会自动适配你的设计风格。
三、TypeScript 类型补全
最被低估的用法。
type ApiResponse = ...; // 复杂联合类型
选中类型 → Cmd+K:
> 把这个类型拆成 3 个有意义的子类型,加 JSDoc
或者:
> 给这个 API 响应推断 TypeScript 类型:[贴 JSON]
zod-to-json-schema 之类工具的 AI 等价。
四、Tailwind 样式调试
> 这个组件在小屏幕(< 640px)布局错乱。
> 当前 DOM:[F12 复制 outerHTML]
> 修复响应式断点。
AI 看 DOM + class,给你 fix。比手工 trial-error 快 5 倍。
五、Tailwind 重构(utility 太长怎么办)
> 这个组件 className 有 30 个 utility,太长。
> 提取重复模式为 @apply 或 cn() 辅助函数。
> 不改视觉。
AI 能识别”卡片 / 按钮 / 标题”这种语义,重构成可复用的 class 组合。
六、表单(最适合 AI 的场景)
> 创建注册表单:
> - email、password、confirmPassword
> - 用 react-hook-form + zod
> - 显示行内错误
> - Submit 按钮在 loading / disabled 状态有 spinner
> - 用项目里的 Input / Button / Form 组件(src/components/ui/)
完整表单 + 验证 + UX 一次到位。前端最耗时的”重复劳动”被消除。
七、动画
> 给这个 Modal 加进出场动画:
> - 进场:scale 0.95→1 + opacity 0→1,350ms
> - 出场:反向,250ms
> - 用 framer-motion
> - 注意 unmount 时机
AI 写动画比手工调贝塞尔曲线快。先要个能跑的,再调细节。
八、错误诊断
> 这段代码报错:[贴 console error]
> 当前代码:[贴文件]
> 找出根因并修复。
特别是 React 的”too many re-renders”、“useEffect missing deps” 这类典型错。
九、性能优化
> 这个组件每次父组件 render 都会 re-render。
> 当前实现:[贴]
> 用 useMemo / useCallback / React.memo 优化。
> 但不要过度优化,只对真实必要的地方下手。
最后一句很重要——AI 不加约束会乱加 memo。
十、UI 重写(从设计稿)
把 Figma / 截图直接喂给视觉模型:
> [贴图片]
> 用 React + Tailwind 实现这个设计。
> 用 src/components/ui/ 已有组件优先。
> 不要硬编码颜色,用 Tailwind 主题。
Gemini 2.5 Pro 在多图理解上最强,做这个特别合适。详见 LLM Vision API 国内对比。
十一、迁移类任务
| 任务 | AI 是否合适 |
|---|---|
| React 17 → 19 | ✓ 套路明确 |
| Vue 2 → 3 | ✓ |
| 样式 CSS → Tailwind | ✓ |
| Webpack → Vite | ✓ |
| moment.js → date-fns | ✓ |
| 把 class component 改成 hook | ✓ |
| 业务逻辑大改 | ✗(需要人决策) |
十二、写测试
> 给 UserCard 组件加 RTL 测试:
> - 渲染 3 种 role
> - 点击事件
> - 异步加载状态
> - error 边界
> 用项目里现有的 test utilities(src/test/)。
测试是 AI 收益最大的地方之一。手工写测试枯燥又必须,AI 帮你写。
十三、E2E(Playwright)
> 写 e2e 测注册流程:
> - 访问 /signup
> - 填表单
> - 点 Submit
> - 验证 redirect 到 /onboarding
> - 验证页面显示用户邮箱
> 用 page.getByRole 优先,不要用 selector
AI 用 best practice 写 Playwright,比新手写得规范。
十四、CSS-in-JS 时代的差异
如果用 styled-components / emotion,prompt 里讲清楚:
> 注意:项目用 styled-components,不要混 Tailwind。
> 风格遵循 styled-components 主题(看 src/theme.ts)。
十五、避坑
- 不要让 AI 直接装新依赖:每加一个 package 自己审一遍
- 不要让 AI 改 build 配置:高阶魔法,错了不易发现
- 可访问性别忘:让 AI 加 ARIA、focus management
- SSR / hydration 错乱:让 AI 复查 use of
window、document、Date.now() 等
十六、相关阅读
- Cursor 新手完整教程
- Cline 国内 API 配置详解
- AI Agent Prompt Engineering 中文实战
- LLM Vision API 国内对比
- 用 AI 编程工具一周写一个 SaaS
需要给前端工作流配一个稳定 base_url?在 YoTradeApi 注册 创建独立 API Key 接入各个工具即可。