玩转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

Flutter 组件 graphql 的适配 鸿蒙Harmony 实战 - 驾驭标准化分布式图形协议、实现鸿蒙端实时订阅与高性能交互网关方案

Flutter 组件 graphql 的适配 鸿蒙Harmony 实战 - 驾驭标准化分布式图形协议、实现鸿蒙端实时订阅与高性能交互网关方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 graphql 的适配 鸿蒙Harmony 实战 - 驾驭标准化分布式图形协议、实现鸿蒙端实时订阅与高性能交互网关方案 前言 在鸿蒙(OpenHarmony)生态的万物互联、极繁交互中台、以及对数据获取灵活性有极致要求的现代应用研发中,“高效的数据检索协议”是应用响应速度的灵魂。面对复杂的社交网络关系查询、实时的行情推送、或是海量状态信息的聚合。如果仅仅依靠传统的 RESTful 接口,那么不仅会导致因为 Over-fetching(获取多余数据)导致的带宽浪费,更会因为频繁的 API 版本演进引入严重的跨端兼容性碎片化问题。 我们需要一种“按需检索、逻辑解耦”的交互艺术。 graphql 是一套专为 Flutter 设计的标准 GraphQL 客户端套件。它通过构建规范的规范化缓存(Normalized Cache)与极其灵活的连接链路(Links)

By Ne0inhk

HTML静态页面生成:利用大模型自动编写前端代码

HTML静态页面生成:利用大模型自动编写前端代码 在现代Web开发中,一个常见的痛点是——明明只是想快速搭建一个简单的展示页,却不得不花上几个小时写HTML结构、调CSS样式、查Bootstrap类名。尤其是当产品经理说“先做个原型看看效果”时,前端工程师的内心往往是崩溃的。 但今天,这一切正在被改变。借助大语言模型(LLM),我们已经可以做到:输入一句自然语言描述,几秒钟内输出一段语义正确、结构规范、甚至带有响应式设计的完整HTML代码。这不再是科幻场景,而是基于现有技术栈完全可实现的工作流。 而在这个过程中,像 ms-swift 这样的开源框架正扮演着关键角色。它不仅让大模型的训练与部署变得轻量化,更使得“用AI写前端代码”从实验室走向了生产环境。 从“写代码”到“说需求”:前端开发的新范式 传统前端开发依赖开发者对HTML标签体系、CSS布局机制和JavaScript交互逻辑的熟练掌握。即使是经验丰富的工程师,在面对重复性页面(如登录页、介绍页、表单页)时也难免感到枯燥。而对于非技术人员来说,哪怕只是修改一行<div>的位置,

By Ne0inhk
Web 开发安全与最佳实践:MVC、会话管理与常见攻击防御

Web 开发安全与最佳实践:MVC、会话管理与常见攻击防御

MVC模式 MVC(Model-View-Controller)是一种广泛使用的软件设计模式,用于简化应用程序的开发过程。它通过分离数据访问、用户界面和业务逻辑,使得应用程序的结构更加清晰。 MVC的组成部分 1. Model(模型) * 定义:代表应用程序的数据和业务逻辑。 * 职责: * 与数据库进行交互 * 处理数据的逻辑操作 * 在JavaWeb中的实现: * 使用POJO(Plain Old Java Object)类,通常与数据库表一一对应 * DAO(Data Access Object)负责数据库交互 * Service层实现业务逻辑 * 可使用ORM(Object-Relational Mapping)框架如Hibernate来简化数据库操作 2. View(视图) * 定义:负责将模型的数据呈现给用户。 * 职责:展示数据,提供用户界面。 * 在JavaWeb中的实现: * 常用JSP(JavaServer Pages) * 也可使用现代模板引擎如Thymeleaf 3. Controlle

By Ne0inhk

Vue3 Webview 转 Android 虚拟导航栏遮挡问题记录

问题描述 在 Android 设备上运行 Capacitor 打包的 Vue 3 应用时,遇到虚拟导航栏(底部返回键、主页键等)和状态栏遮挡应用内容的问题。 问题表现 * 底部 Tab 导航栏被虚拟导航栏遮挡一部分 * 顶部内容被状态栏遮挡 * 页面底部内容贴近虚拟导航栏,没有安全间距 问题根源分析 初始状态 应用使用了沉浸式布局,在 MainActivity.java 中设置了: WindowCompat.setDecorFitsSystemWindows(getWindow(),false);getWindow().setStatusBarColor(Color.TRANSPARENT);getWindow().setNavigationBarColor(Color.TRANSPARENT); 这使得 WebView 内容延伸到状态栏和导航栏后面,实现了全屏显示。 错误的假设 最初尝试使用 CSS 的环境变量来解决: padding-top:env(safe-area-inset-top,

By Ne0inhk