玩转ClaudeCode:使用Figma-MCP编写前端代码1:1还原UI设计图

玩转ClaudeCode:使用Figma-MCP编写前端代码1:1还原UI设计图

目录

本轮目标

具体实践

一、开启 Figma 的 MCP 服务器

二、Claude Code 连接 Figma MCP

三、Claude Code 代码实现 Figma 设计稿


本轮目标

本轮目标是制作数字化大屏的一个前端组件,要求和UI设计图还原度达到1:1。

本轮目标需要我们提前准备好figma客户端,且登录帐号具有开发模式的权限(没有可以去某夕)。Claude Code 就不必多说,没有安装的同学参考我的上一篇文章《玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)》完成安装,通过专属链接注册,可以额外领取100美金的免费使用额度。

安装教程参考:玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)_claude code安装-ZEEKLOG博客文章浏览阅读2.5w次,点赞67次,收藏86次。全网最火爆的Claude Code系列教程来了,跟着小智学AI,做新时代的Vibe Coder,几篇博客带你玩转Claude Code,本文介绍了Claude Code在Windows环境、Linux环境、MacOS环境下的安装和使用,还没有体验过Calude Code的你,快来扫盲吧,有任何问题都可以在评论区留言,期待你的互动!_claude code安装https://blog.ZEEKLOG.net/weixin_41793160/article/details/149313024


具体实践

一、开启 Figma 的 MCP 服务器

打开 Figma 桌面客户端(只支持在桌面端中设置 Figma MCP Server),如图所示选中 Preferences -> Enable Dev Mode MCP Server 启动 MCP Server。

如果访问 localhost:3845/sse 有如下页面,说明 Figma 的 MCP 服务开启成功。

Figma MCP 支持 5 个 Tool:

ToolFunction
get_code获取设计稿中的代码
get_image获取设计稿中的图片
get_variable_defs获取某个变量
get_code_connect_map获取代码连接映射
create_design_system_rules创建设计系统规则

二、Claude Code 连接 Figma MCP

首先保证电脑上已经安装 claude code,没有安装的参考:玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)_claude code安装-ZEEKLOG博客文章浏览阅读2.5w次,点赞67次,收藏86次。全网最火爆的Claude Code系列教程来了,跟着小智学AI,做新时代的Vibe Coder,几篇博客带你玩转Claude Code,本文介绍了Claude Code在Windows环境、Linux环境、MacOS环境下的安装和使用,还没有体验过Calude Code的你,快来扫盲吧,有任何问题都可以在评论区留言,期待你的互动!_claude code安装https://blog.ZEEKLOG.net/weixin_41793160/article/details/149313024

已经安装成功的进行下面的步骤:

项目文件夹目录下 CMD 运行:

claude mcp add --transport sse figma-dev-mode-mcp-server http://127.0.0.1:3845/sse

启动 Claude Code:

claude --dangerously-skip-permissions

查看 MCP 是否安装成功:

/mcp

如果显示未连接,可以回车之后选择 Reconnect 一下,连接成功如图:

如果需要项目特定配置,可以在项目目录下新建 .mcp.json 文件,将 Figma MCP Server 和 context7 MCP Server 的配置写入:

{   "mcpServers": {     "Figma": {       "url": "http://127.0.0.1:3845/sse"     },     "context7": {       "command": "npx",       "args": ["-y", "@upstash/context7-mcp@latest"]     }   } }

三、Claude Code 代码实现 Figma 设计稿

先测试 Claude Code 能否读取到 Figma 的设计稿。

选中 Figma 设计稿中的某一块(或复制 Figma 中的图层链接)。

在 Claude Code 里提问,是否可以抓取到对应模块的 CSS:

告诉我figma里选中的模块的css

可以看到,CSS 信息被顺利抓取。

下面,我们来进行代码的整体编写,将 Figma 设计稿转换成代码实现。

根据figma 设计稿当前选中的图层,遍历里面所有的组件,对图片逐一下载,对每个子组件逐一读取,将figma设计稿转换为html代码实现,创建index.html

我创建了一个静态 html 页面来实现这个效果,如果是vue/react/angular的页面,告诉 claude code 即可。

由于元素过多,claude code 的第一版一般都和 ui 大相径庭。后续需要我们逐个组件把 css 喂给 claude code。

最终效果:

各个组件都和原型 1:1 复刻,后面再微调组件间距离即可。因为大屏太过复杂,调了很久,但是也节省了非常大的时间。

下面,我们再去复刻一个简单的移动端的 UI 案例。

还是先选中我们要实现的图层。

告诉 claude code,我们要遍历这个图层中的所有组件,创建一个 html 文件,实现这个组件。

帮我创建一个test.html,实现我选中的图层及内容,要求遍历每一个组件,获取他们的样式和svg等

初版很快就被实现了出来:

下面,我们需要依次选中figma中的每个子组件,再把它们的 css 喂给 claude code。

最终效果:

再实现一个简单的,目标如下:

初版如图:

喂给 claude code 更多 css 和 svg 信息:

最终结果如图:

经过这几个例子,我们可以看到 claude code 结合 figma 的 mcp 之后,功能变得多么的强大,期待使用 claude code 做出更多出色的作品!!


加入社区

Claude Code 开发者交流社区

福利多多,立即加入 👇 👇 👇 

Claude Code 中国开发者交流社区

期待与你的思维碰撞,共同奔赴AI开发的浪潮!

Read more

【C++】模板的两大特性

【C++】模板的两大特性

文章目录 * 前言 * 1. 关于 typename 的使用场景 * 2. 模板的分离编译问题 * 2.1 简述程序编译链接的过程 * 2.1.1 预处理 * 2.1.2 编译 * 2.1.3汇编 * 2.1.4 链接 * 2.2 模板分离编译为什么会链接报错 * 2.2.1 什么是分离编译 * 2.2.2 模板分离编译存在的问题 * 3. 解决办法 前言 本文探讨了C++模板编程中的两个关键问题。第一部分介绍了typename在模板中的特殊使用场景,指出当模板参数访问内嵌类型时必须使用typename关键字来消除编译器歧义。第二部分分析了模板分离编译导致链接错误的原因,通过对比普通函数和模板函数的编译链接过程,解释了模板定义必须放在头文件中才能被实例化的原理。文章结合代码示例和编译链接过程图解,帮助读者理解模板编译机制和常见错误的解决方法。 1.

By Ne0inhk
C++之旅-C++11的深度剖析(1)

C++之旅-C++11的深度剖析(1)

目录 前言/背景 1.C++11的发展历史  2.列表初始化 2.1 C++98传统的{} 2.2 C++11中的{} 2.3 C++11中的std::initializer_list 3.右值引用 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期 3.4 左值和右值的参数匹配 结束语 前言/背景 随着现代软件开发的快速发展,编程语言也在不断进化,C++ 作为一种功能强大的编程语言,已经经历了多个版本的更新,每一次版本的发布都为开发者带来了新的特性和功能。C++11 是 C++ 语言的一个重要版本,

By Ne0inhk
学生选课|基于java+ vue学生选课系统(源码+数据库+文档)

学生选课|基于java+ vue学生选课系统(源码+数据库+文档)

学生选课系统 目录 基于springboot + vue学生选课系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot + vue学生选课系统 一、前言 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,ZEEKLOG平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️ 主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。 🍅文末获取源码联系🍅 二、系统功能演示 三、技术选型 系统设计原则 通常,大多数用户使用系统的目标主要是为了获取必要信息或享受系统提供的服务。因此,为了优化用户体验并增加系统的使用效率,在设计系统界面时,

By Ne0inhk
实战:用 TypeScript 重构 JavaScript 工具函数 - 深度解析与最佳实践

实战:用 TypeScript 重构 JavaScript 工具函数 - 深度解析与最佳实践

实战:用 TypeScript 重构 JavaScript 工具函数 - 深度解析与最佳实践 引言:从动态类型到静态类型的工程化升级 重构 JavaScript 代码为 TypeScript 不仅仅是添加类型注解,更是对代码质量、可维护性和设计模式的全面提升。本文将通过一个真实的工具函数重构案例,深入探讨如何系统性地将动态 JavaScript 代码升级为类型安全的 TypeScript 实现,同时保持或提升其性能和可用性。 一、原始 JavaScript 工具函数:深度分析 1.1 原始代码分析 让我们从一个典型的 JavaScript 工具函数开始 - 一个实现深度合并(deep merge)的实用函数: // 原始 JavaScript 代码:deepMerge.jsfunctiondeepMerge(target, source, options ={}){const{ mergeArrays

By Ne0inhk