ui-to-vue
affaan-m/ECC
Konvertieren Sie Screenshots von UI-Designs mithilfe von Vant, Element Plus oder Ant Design Vue stapelweise in Komponenten der Vue 3 Composition API.
...Alle erweiternUI zu Vue
UI-Design-Screenshots im Stapelverfahren in Vue 3 Composition API-Komponentencode konvertieren.
Anwendungsfälle
- Der Benutzer stellt ein Verzeichnis mit Design-Screenshots oder exportierten Design-Bildern bereit.
- Die Zielanwendung ist Vue 3.
- Der Benutzer wünscht sich einen ersten Entwurf der Seitenkomponenten, der gemeinsam genutzten Komponenten und der Router-Verkabelung.
- Der Benutzer gibt Vant, Element Plus oder Ant Design Vue als Komponentenbibliothek an.
Wann sollte diese Funktion nicht verwendet werden?
- Der Nutzer hat nur einen Screenshot und möchte eine maßgeschneiderte Komponente.
- Das Zielprojekt ist nicht Vue.
- Das Design erfordert eine detaillierte Interaktionslogik, einen detaillierten Datenfluss oder eine Barrierefreiheitsprüfung.
- Die Screenshots enthalten vertrauliche Kundendaten, die nicht an eine externe Modell-API gesendet werden dürfen.
Eingaben
Verwenden Sie ein Eingabeverzeichnis, das Screenshots nach Modul und Seitenzustand gruppiert:
screenshots/
|-- HomePage/
| |-- List/
| | |-- [email protected]
| | `-- cut-images/
| |-- cut-images/
| `-- [email protected]
`-- cut-images/
Zu den unterstützten Verzeichnisnamen für Bildausschnitte gehören assets, icons, sprites, cut, imagessowie cut-images.
Konversionsmodell
- Seitengruppierung: Kombinieren Sie verwandte Screenshots zu einer Seitenkomponente, wenn sie Listen-, Detail-, Formular-, Lade- oder Leerstandszustände darstellen.
- Zuordnung zur UI-Bibliothek: Ordnen Sie native visuelle Elemente nach Möglichkeit Vant-, Element Plus- oder Ant Design Vue-Komponenten zu.
- Priorität der Ausschnitte: Bevorzugen Sie Assets auf Seitenebene, dann Assets auf Modulebene und schließlich global gemeinsam genutzte Assets.
- Komponentenextraktion: Extrahieren Sie sich wiederholende UI-Bereiche in gemeinsam genutzte Komponenten, wenn sie mehr als einmal vorkommen.
Verwendung der CLI
Führen Sie den Konverter mit npx , damit der dokumentierte Befehl ohne Abhängigkeit von einer globalen Binärdatei funktioniert:
export DASHSCOPE_API_KEY=your_key
npx [email protected] --input ./screenshots --ui vant --output ./src
Für Desktop-UI-Bibliotheken:
npx [email protected] --input ./designs --ui element-plus --output ./src
npx [email protected] --input ./designs --ui antd-vue --output ./src
Wenn das Paket global installiert ist, kann die ui-to-vue Binärdatei direkt verwendet werden:
npm install -g [email protected]
ui-to-vue --input ./screenshots --ui vant --output ./src
Optionen
| Option | Beschreibung | Standard |
|---|---|---|
--input |
Verzeichnis für Designbilder | ./screenshots |
--ui |
UI-Bibliothek: vant, element-plusoder antd-vue |
vant |
--output |
Ausgabeverzeichnis | ./src |
--config |
Pfad zur Konfigurationsdatei | ./.ui-to-vue.config.json |
Verwaltung von API-Schlüsseln
Der Konverter kann DashScope-Anmeldedaten aus einer Konfigurationsdatei oder aus der Umgebung lesen. Verwenden Sie in Repositories vorzugsweise eine Umgebungsvariable:
export DASHSCOPE_API_KEY=your_key
Falls eine lokale Konfigurationsdatei erforderlich ist, sollte diese nicht in die Versionskontrolle aufgenommen werden:
{
"apiKey": "your_dashscope_key",
"input": "./designs",
"ui": "vant",
"output": "./src"
}
.ui-to-vue.config.json
Sicherheit und Datenschutz
- Behandeln Sie Design-Screenshots als Ausgangsmaterial, das an eine externe Modell-API gesendet werden kann.
- Führen Sie diesen Workflow nicht ohne Genehmigung bei privaten Kundendesigns aus.
- Fixieren Sie die Konverter-Version in wiederholbaren Workflows, anstatt
@latest. - Überprüfen Sie den generierten Vue-Code, bevor Sie ihn committen.
- Führen Sie kein Commit durch
.ui-to-vue.config.json, API-Schlüssel, generierte Geheimnisse oder Kunden-Screenshots.
Checkliste zur Überprüfung der Ausgabe
- Die Seitenkomponenten wurden unter
views/oder dem ausgewählten Ausgabeverzeichnis generiert. - Wiederkehrende UI-Bereiche wurden
components/nur dann extrahiert, wenn eine Wiederverwendung eindeutig ist. - Die Router-Ausgabe ist mit dem Router-Stil des Zielprojekts kompatibel.
- Die generierten Komponenten verwenden die angeforderte UI-Bibliothek konsistent.
- Die generierten CSS-Einheiten entsprechen den Designvorgaben.
- Der Code durchläuft den Formatter, den Linter, den Typ-Checker und den Build des Projekts erfolgreich.
- Platzhaltertexte, Scheindaten und generierte Assets wurden vor dem Commit überprüft.
Fehlerbehebung
| Problem | Überprüfen Sie |
|---|---|
401 oder Authentifizierungsfehler |
Überprüfen Sie, DASHSCOPE_API_KEY in der Shell, in der der Befehl ausgeführt wird, eingestellt ist. |
command not found: ui-to-vue |
Verwenden Sie die npx [email protected] Formular oder installieren Sie das Paket global. |
| Ausgeschnittene Bilder werden ignoriert | Stellen Sie sicher, dass der Name des Asset-Verzeichnisses unterstützt wird und unter der entsprechenden Seite oder dem entsprechenden Modul verschachtelt ist. |
| Komponenten ignorieren die angeforderte UI-Bibliothek | Führen Sie den Vorgang mit einem expliziten --ui Wert und überprüfen Sie die generierten Importe. |
| Die generierten Layout-Abmessungen scheinen falsch zu sein | Stellen Sie sicher, dass die Breite des Screenshot-Exports mit der Basislinie der Zielbibliothek übereinstimmt. |
Referenzen
- npm-Paket:
ui-to-vue-converter
---
name: ui-to-vue
description: Batch-convert UI design screenshots into Vue 3 Composition API components using Vant, Element Plus, or Ant Design Vue.
---
# UI To Vue
Batch-convert UI design screenshots into Vue 3 Composition API component code.
## When to Use
- The user provides a directory of design screenshots or design-export images.
- The target application is Vue 3.
- The user wants a first pass of page components, shared components, and router wiring.
- The user specifies Vant, Element Plus, or Ant Design Vue as the component library.
## When Not to Use
- The user has only one screenshot and wants a bespoke component.
- The target project is not Vue.
- The design requires detailed interaction logic, data flow, or accessibility review.
- The screenshots contain private customer data that cannot be sent to an external model API.
## Inputs
Use an input directory that groups screenshots by module and page state:
```text
screenshots/
|-- HomePage/
| |-- List/
| | |-- [email protected]
| | `-- cut-images/
| |-- cut-images/
| `-- [email protected]
`-- cut-images/
```
Supported cut-image directory names include `assets`, `icons`, `sprites`, `cut`, `images`, and `cut-images`.
## Conversion Model
- Page grouping: combine related screenshots into one page component when they represent list, detail, form, loading, or empty states.
- UI library mapping: map native visual elements to Vant, Element Plus, or Ant Design Vue components where practical.
- Cut-image priority: prefer page-level assets, then module-level assets, then global shared assets.
- Component extraction: extract repeated UI regions into shared components when they appear more than once.
## CLI Usage
Run the converter with `npx` so the documented command works without relying on a global binary:
```bash
export DASHSCOPE_API_KEY=your_key
npx [email protected] --input ./screenshots --ui vant --output ./src
```
For desktop UI libraries:
```bash
npx [email protected] --input ./designs --ui element-plus --output ./src
npx [email protected] --input ./designs --ui antd-vue --output ./src
```
If the package is installed globally, the `ui-to-vue` binary can be used directly:
```bash
npm install -g [email protected]
ui-to-vue --input ./screenshots --ui vant --output ./src
```
## Options
| Option | Description | Default |
| --- | --- | --- |
| `--input` | Design image directory | `./screenshots` |
| `--ui` | UI library: `vant`, `element-plus`, or `antd-vue` | `vant` |
| `--output` | Output directory | `./src` |
| `--config` | Config file path | `./.ui-to-vue.config.json` |
## API Key Handling
The converter can read DashScope credentials from a config file or from the environment. Prefer an environment variable in repositories:
```bash
export DASHSCOPE_API_KEY=your_key
```
If a local config file is required, keep it out of version control:
```json
{
"apiKey": "your_dashscope_key",
"input": "./designs",
"ui": "vant",
"output": "./src"
}
```
```gitignore
.ui-to-vue.config.json
```
## Security and Privacy
- Treat design screenshots as source material that may be sent to an external model API.
- Do not run this flow on private customer designs without permission.
- Pin the converter version in repeatable workflows instead of using `@latest`.
- Review generated Vue code before committing it.
- Do not commit `.ui-to-vue.config.json`, API keys, generated secrets, or customer screenshots.
## Output Review Checklist
- [ ] Page components were generated under `views/` or the chosen output directory.
- [ ] Repeated UI regions were extracted into `components/` only when reuse is clear.
- [ ] Router output is compatible with the target project's router style.
- [ ] Generated components use the requested UI library consistently.
- [ ] Generated CSS units match the design baseline.
- [ ] The code passes the project's formatter, linter, type checker, and build.
- [ ] Placeholder copy, mock data, and generated assets were reviewed before commit.
## Troubleshooting
| Issue | Check |
| --- | --- |
| `401` or authentication error | Confirm `DASHSCOPE_API_KEY` is set in the shell running the command. |
| `command not found: ui-to-vue` | Use the `npx [email protected]` form or install the package globally. |
| Cut images are ignored | Confirm the asset directory name is supported and nested under the matching page or module. |
| Components ignore the requested UI library | Re-run with an explicit `--ui` value and inspect the generated imports. |
| Generated layout dimensions look wrong | Confirm the screenshot export width matches the target library baseline. |
## References
- npm package: `ui-to-vue-converter`
Alle Dateien
1 Dateienui-to-vue installieren
Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
git clone https://github.com/affaan-m/ECC/tree/main/skills/ui-to-vue # Copy SKILL.md to your .claude/skills/ directory
Kopieren





Heim
