跳到主要内容
知仓学习社ZHICANG

ui-to-vue

UIスクリーンショットやデザインエクスポートをVue 3コンポーネントに一括変換する際に使用。Vant、Element Plus、Ant Design Vueに対応。

不碰外部(只输出文字)无严重或高危命中affaan-m/ECC

它会碰到什么

扫了多少1 个文本文件,3 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

UI To Vue

UIデザインのスクリーンショットをVue 3 Composition APIコンポーネントコードに一括変換します。

使用するタイミング

  • ユーザーがデザインスクリーンショットまたはデザインエクスポート画像のディレクトリを提供するとき。
  • ターゲットアプリケーションがVue 3のとき。
  • ユーザーがページコンポーネント、共有コンポーネント、ルーター配線の最初の変換を希望するとき。
  • ユーザーがVant、Element Plus、またはAnt Design Vueをコンポーネントライブラリとして指定するとき。

使用しないタイミング

  • ユーザーがスクリーンショット1枚のみで、特定のコンポーネントを希望するとき。
  • ターゲットプロジェクトがVueでないとき。
  • デザインが詳細なインタラクションロジック、データフロー、またはアクセシビリティレビューを必要とするとき。
  • スクリーンショットに外部モデルAPIに送信できないプライベートな顧客データが含まれるとき。

入力

モジュールとページ状態でスクリーンショットをグループ化したディレクトリを入力として使用します。

サポートされている切り出し画像ディレクトリ名:assetsiconsspritescutimagescut-images

変換モデル

  • ページグループ化:リスト、詳細、フォーム、ローディング、または空の状態を表す関連スクリーンショットを1つのページコンポーネントにまとめる。
  • UIライブラリマッピング:可能な限りネイティブのビジュアル要素をVant、Element Plus、またはAnt Design Vueコンポーネントにマッピングする。
  • 切り出し画像の優先順位:ページレベルのアセットを優先し、次にモジュールレベル、最後にグローバル共有アセット。
  • コンポーネント抽出:繰り返し使われるUIリージョンが2回以上現れる場合は共有コンポーネントに抽出する。

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ライブラリ:vantelement-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 または認証エラー | コマンドを実行するシェルで DASHSCOPE_API_KEY が設定されていることを確認する。 |

| command not found: ui-to-vue | npx ui-to-vue-converter@1.0.2 の形式を使用するか、パッケージをグローバルインストールする。 |

| 切り出し画像が無視される | アセットディレクトリ名がサポートされており、対応するページまたはモジュールの下にネストされていることを確認する。 |

| コンポーネントが要求されたUIライブラリを無視する | 明示的な --ui 値で再実行して、生成されたインポートを確認する。 |

| 生成されたレイアウトの寸法がおかしい | スクリーンショットのエクスポート幅がターゲットライブラリのベースラインと一致していることを確認する。 |

リファレンス

  • npmパッケージ:ui-to-vue-converter

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 2 个不同仓库或目录里都有叫 ui-to-vue 的技能。它们内容并不相同,别混用:

  • affaan-m/ECC — Use when the user has UI screenshots or design exports that need batch conversion into Vue