mcpField
V
vue-best-practices

vue-best-practices

github.com/uni-helper開発111778 回インストール39 週間前に更新
リポジトリ

vue-best-practices について

vue-best-practicesは、Vue 3開発者向けのリファレンススキルです。リアクティビティ、コンポーネント、テンプレートなどに関する一般的な注意点や推奨パターン、性能上の考慮事項を扱います。

主な機能

  1. 01リアクティビティと算出プロパティの指針
  2. 02ウォッチャーの動作とクリーンアップ
  3. 03コンポーネントとプロパティのパターン
  4. 04テンプレートとフォームの注意点
  5. 05Composition APIの実践指針
  6. 06性能とライフサイクルの助言

活用シーン

  1. 01想定外のリアクティビティ動作の調査
  2. 02コンポーネントやプロパティの誤用防止
  3. 03テンプレートとフォーム処理の確認
  4. 04Vue 3の性能改善

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/uni-helper/skills --skill vue-best-practices

インストール後、Claude Code で/vue-best-practicesを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.md
reference/
animation-class-based-technique.md
animation-key-for-rerender.md
animation-state-driven-technique.md
animation-transitiongroup-performance.md
async-component-error-handling.md
async-component-hydration-strategies.md
async-component-keepalive-ref-issue.md
async-component-loading-delay.md
async-component-suspense-control.md
async-component-vue-router.md
attrs-event-listener-merging.md
attrs-hyphenated-property-access.md
attrs-not-reactive.md
avoid-prop-drilling-use-provide-inject.md
checkbox-true-false-value-form-submission.md
cleanup-side-effects.md
click-events-on-components.md
component-events-dont-bubble.md
component-naming-conflicts.md
component-naming-pascalcase.md
component-ref-requires-defineexpose.md
composable-avoid-hidden-side-effects.md
composable-call-location-restrictions.md
composable-composition-pattern.md
composable-naming-return-pattern.md
composable-options-object-pattern.md
composable-readonly-state.md
composable-tovalue-inside-watcheffect.md
composable-vs-utility-functions.md

詳細

Vue 3 のベストプラクティス、よくある落とし穴、パフォーマンス最適化。

リアクティビティ
算出プロパティ
ウォッチャー
コンポーネント
プロパティとイベント
テンプレート
テンプレート参照
  • 要素が条件付きで非表示になると参照が null になる → template-ref-null-with-v-if を参照
  • ループ内で参照配列のインデックスがデータ配列と一致しない → template-ref-v-for-order を参照
  • テンプレート参照名の変更がコード内で検出されずに問題を引き起こす → use-template-ref-vue35 を参照
フォームと v-model
イベントと修飾子
  • 複数のイベント修飾子を連結すると、予期しない結果になる → event-modifier-order-mattersを参照してください
  • 同じイベントを1回だけ処理する必要がある → event-once-modifier-for-single-useを参照してください
  • キーボードショートカットが意図しない修飾キーの組み合わせで発火する → exact-modifier-for-precise-shortcutsを参照してください
  • システム修飾キーを使ったキーボードショートカットが発火しない → keyup-modifier-timingを参照してください
  • 左利き用マウスや標準以外の入力デバイスを使用する → mouse-button-modifiers-intentを参照してください
  • ブラウザーの既定の動作の防止とスクロールのパフォーマンスを両立する → no-passive-with-preventを参照してください
ライフサイクル
  • ライフサイクルフックは非同期では実行されない → lifecycle-hooks-synchronous-registrationを参照してください
  • コンポーネントのマウント前にDOMへアクセスすると失敗する → lifecycle-dom-access-timingを参照してください
  • イベントリスナーを削除しないことでメモリーリークが発生する → cleanup-side-effectsを参照してください
  • SSRのレンダリング結果がクライアントのハイドレーションと異なる → lifecycle-ssr-awarenessを参照してください
  • コストの高い処理によってパフォーマンスが大幅に低下する → updated-hook-performanceを参照してください
  • 状態変更後にDOMを読み取ると古い値が返される → dom-update-timing-nexttickを参照してください
スロット
Provide/Inject
Attrs
Composables
  • コンポーザブルに予期しない副作用があり、外部の状態に影響する → composable-avoid-hidden-side-effectsを参照してください
  • セットアップコンテキストの外、または非同期にコンポーザブルを呼び出している → composable-call-location-restrictionsを参照してください
  • 小さく役割を絞ったコンポーザブルから複雑なロジックを構築する → composable-composition-patternを参照してください
  • コンポーザブルの命名に一貫性がない、または分割代入によってリアクティビティが失われる → composable-naming-return-patternを参照してください
  • コンポーザブルのオプション引数が多い、または引数の順序がわかりにくい → composable-options-object-patternを参照してください
  • コンポーザブルの状態が無制御に変更されないようにする → composable-readonly-stateを参照してください
  • 入力が変わってもコンポーザブルのリアクティブな依存関係が更新されない → composable-tovalue-inside-watcheffectを参照してください
  • ロジックをコンポーザブルとユーティリティ関数のどちらに置くべきか判断できない → composable-vs-utility-functionsを参照してください
Composition API
ディレクティブ
トランジション
アニメーション
KeepAlive
非同期コンポーネント
レンダー関数
Teleport
Suspense
TypeScript
SSR
パフォーマンス
  • 状態の変更中に多くのリスト項目が不要に再レンダリングされる → perf-props-stability-update-optimizationを参照してください
  • 数百、数千の項目をレンダリングすると DOM のパフォーマンスに問題が生じる → perf-virtualize-large-listsを参照してください
  • 親コンポーネントの更新ごとに静的コンテンツが再評価される → perf-v-once-v-memo-directivesを参照してください
  • コンポーネントが深くネストされた構造のため、リストのパフォーマンスが低下する → perf-avoid-component-abstraction-in-listsを参照してください
  • オブジェクトを返す算出プロパティによって、予期せずエフェクトが発生する → perf-computed-object-stabilityを参照してください
  • クライアント側の JavaScript 実行の遅延によって、ページ読み込みの指標が悪化する → perf-ssr-ssg-for-page-loadを参照してください
SFC(単一ファイルコンポーネント)
プラグイン
アプリケーションの設定
  • mount 呼び出し後にアプリケーションの設定メソッドが動作しない → configure-app-before-mountを参照してください
  • mount の後にアプリケーションの設定メソッドをチェーンする必要がある → mount-return-valueを参照してください
  • Vue の制御対象をページの特定のセクションだけにする → multiple-app-instancesを参照してください
  • 動的なコンポーネント登録を Vite に移行する → dynamic-component-registration-viteを参照してください

コメント