UI To Vue¶
将 UI 设计截图批量转换为 Vue 3 Composition API 组件代码。
适用场景¶
- 当用户提供设计截图或设计导出图片目录时。
- 当目标应用为 Vue 3 时。
- 当用户希望进行页面组件、共享组件和路由配置的初始转换时。
- 当用户指定 Vant、Element Plus 或 Ant Design Vue 作为组件库时。
不适用场景¶
- 当用户只提供一张截图并希望生成特定组件时。
- 当目标项目不是 Vue 时。
- 当设计需要详细的交互逻辑、数据流或可访问性审查时。
- 当截图中包含不能发送到外部模型 API 的私有客户数据时。
输入¶
使用按模块和页面状态对截图进行分组的目录作为输入。
支持的切图目录名:assets、icons、sprites、cut、images、cut-images。
转换模型¶
- 页面分组:将表示列表、详情、表单、加载或空状态的关联截图合并为一个页面组件。
- UI 库映射:尽可能将原生视觉元素映射到 Vant、Element Plus 或 Ant Design Vue 组件。
- 切图优先级:优先使用页面级资源,其次是模块级资源,最后是全局共享资源。
- 组件提取:当重复出现的 UI 区域出现两次或更多次时,提取为共享组件。
CLI 使用方法¶
不依赖全局二进制文件,使用 npx 运行转换器,使文档中记载的命令能够正常工作:
export DASHSCOPE_API_KEY=your_key
npx ui-to-vue-converter@1.0.2 --input ./screenshots --ui vant --output ./src
选项¶
| 选项 | 说明 | 默认值 |
|---|---|---|
--input |
设计图片目录 | ./screenshots |
--ui |
UI 库:vant、element-plus 或 antd-vue |
vant |
--output |
输出目录 | ./src |
--config |
配置文件路径 | ./.ui-to-vue.config.json |
安全与隐私¶
- 将设计截图视为可能发送到外部模型 API 的源素材。
- 未经许可,不要使用私有客户设计运行此流程。
- 在可复现的工作流中,应固定转换器版本,而不是使用
@latest。 - 在提交前审查生成的 Vue 代码。
- 不要提交
.ui-to-vue.config.json、API 密钥、生成的机密或客户截图。
输出审查检查清单¶
- [ ] 页面组件已生成在
views/或所选输出目录下。 - [ ] 重复的 UI 区域仅在复用明确时提取到
components/。 - [ ] 路由输出与目标项目的路由风格兼容。
- [ ] 生成的组件一致地使用了所要求的 UI 库。
- [ ] 生成的 CSS 单位与设计基线一致。
- [ ] 代码通过项目的格式化器、代码检查器、类型检查器和构建。
- [ ] 已在提交前审查占位文案、模拟数据和生成的资源。
故障排除¶
| 问题 | 检查事项 |
|---|---|
401 或认证错误 |
确认执行命令的 shell 中已设置 DASHSCOPE_API_KEY。 |
command not found: ui-to-vue |
使用 npx ui-to-vue-converter@1.0.2 格式,或全局安装该包。 |
| 切图被忽略 | 确认资源目录名受支持,并嵌套在对应的页面或模块下。 |
| 组件忽略所要求的 UI 库 | 使用显式的 --ui 值重新运行,并检查生成的导入。 |
| 生成的布局尺寸异常 | 确认截图导出宽度与目标库的基线一致。 |
参考¶
- npm 包:
ui-to-vue-converter
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC