适用角色与上手难度
🎯 学习产出: 掌握用 Playwright 做设计验收、用 Claude Code 做 TDD 实现的前端工程化流程,能保证设计还原度
🚀 AI 能力提升: TDD 开发、设计还原、测试驱动
从设计到代码
预计阅读时间: 9 分钟原型是半成品,代码才是产品。从原型到代码的过程如果做不好,前面的设计工作全白费。这章教你一个零失真的还原方法。
核心问题
设计稿和前端代码之间的鸿沟是怎么产生的?
- 设计师和开发看的是同一个图,但理解不一样
- 开发过程中需求变了,但设计稿没跟着更新
- 没有量化的验收标准——"感觉长得不一样"没法测
解决方案:用 Playwright 测试做设计验收的"标准答案"。
核心思路
同一套测试用例,两个环境各跑一遍。这就是设计还原的量化标准。
本章流程
Step 1:从原型提取 Playwright 测试
原型已经做好了(Chapter 1 产出的 prototype.html)。现在从它身上提取测试用例——这些测试就是设计验收的"合约"。
Claude Code 生成的测试示例:
Step 2:先在原型上跑通
这一步确认设计本身没有问题。如果原型的交互逻辑有 bug,测试会直接挂——这就是在设计阶段发现的 bug,修复成本最低。
Step 3:用 Claude Code 生成前端代码
测试通过后,告诉 Claude Code 生成真正的前端代码:
不要让 Claude Code 直接生成代码——先让它出计划,你确认组件拆分和数据流设计后再执行。这样避免"写完了发现架构不对,全删了重来"。
Claude Code 会先出计划,确认后生成组件代码。生成的 Board.tsx 示例结构:
Step 4:同套测试验证前端
前端写完后,把 Playwright 测试的 URL 从原型换成前端 dev server:
全部通过 → 前端实现和设计原型精确一致。有失败的 → 根据错误信息改代码,直到全绿。
Step 5:截图对比(可选但推荐)
断言通过不等于视觉 100% 一致。加上截图对比做视觉回归:
首次运行生成基准截图,之后每次跑都会自动对比。差异超阈值时生成 diff 图直接贴到 PR 里。
完整流程总结
扩展到 Figma/Axure
如果你的设计源不是 HTML 原型而是 Figma 或 Axure,流程一样:
- Figma:用 Figma MCP 直接读设计稿 → 提取测试 → 同上流程。参见 Figma MCP 教程
- Axure:导出静态 HTML → 同上流程。参见 Axure + Playwright 实战
常见问题
原型和前端有"合理差异"怎么办?
原型没做的 loading/empty/error 状态——前端应该加。不要把这些差异当 bug。
测试中区分两类断言:
拖拽测试不稳定?
Playwright 的 dragTo 对复杂拖拽场景可能不够稳定。用 page.evaluate 直接触发事件更可靠:
Playwright 测试跑太慢?
下一章: 设计系统维护 —— 代码写完了,怎么保证后续迭代不会让设计越来越乱?

