react-vite-best-practices について
Viteで構築するReactアプリ向けの性能最適化ガイドスキルです。23のルールを6カテゴリに分け、ビルド、コード分割、開発環境、アセット、環境設定、バンドル分析を扱います。
主な機能
- 016カテゴリ・23のルール
- 02ビルドとバンドルの最適化
- 03ルートとコンポーネントの分割
- 04開発環境とHMRの指針
- 05アセットと環境変数の管理
- 06バンドル分析
活用シーン
- 01ReactとViteのビルド最適化
- 02ルートや大型コンポーネントの分割
- 03アセットと環境変数の設定
- 04バンドルサイズと依存関係の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ asyrafhussin/ agent-skills --skill react-vite-best-practicesインストール後、Claude Code で/react-vite-best-practicesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdrules/_sections.md_template.mdasset-fonts.mdasset-image-optimization.mdasset-public-dir.mdasset-svg-components.mdbuild-asset-hashing.mdbuild-compression.mdbuild-manual-chunks.mdbuild-minification.mdbuild-sourcemaps.mdbuild-target-modern.mdbuild-tree-shaking.mdbundle-visualizer.mddev-dependency-prebundling.mddev-fast-refresh.mddev-hmr-config.mdenv-modes.mdenv-sensitive-data.mdenv-vite-prefix.mdsplit-component-lazy.mdsplit-dynamic-imports.mdsplit-prefetch-hints.mdsplit-route-lazy.mdsplit-suspense-boundaries.md詳細
React + Vite のベストプラクティス
Vite で構築された React アプリケーション向けの包括的なパフォーマンス最適化ガイドです。ビルドの最適化、コード分割、開発時のパフォーマンス、アセットの処理、環境設定、バンドル分析の 6 カテゴリーにわたる 23 のルールを収録しています。
メタデータ
- バージョン: 2.0.0
- フレームワーク: React + Vite
- ルール数: 6 カテゴリーにわたる 23 のルール
- ライセンス: MIT
適用する場面
次のような場合に、これらのガイドラインを参照してください:
- React プロジェクト向けに Vite を設定する場合
- コード分割と遅延読み込みを実装する場合
- ビルド出力とバンドルサイズを最適化する場合
- 開発環境と HMR を設定する場合
- 画像、フォント、SVG、静的アセットを扱う場合
- 環境間で環境変数を管理する場合
- バンドルサイズと依存関係を分析する場合
優先度別のルールカテゴリー
| 優先度 | カテゴリー | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | ビルドの最適化 | CRITICAL | build- |
| 2 | コード分割 | CRITICAL | split- |
| 3 | 開発 | HIGH | dev- |
| 4 | アセットの処理 | HIGH | asset- |
| 5 | 環境設定 | MEDIUM | env- |
| 6 | バンドル分析 | MEDIUM | bundle- |
クイックリファレンス
1. ビルドの最適化(CRITICAL)
build-manual-chunks- ベンダーコードを分離する手動チャンクを設定するbuild-minification- OXC(デフォルト)または Terser による圧縮build-target-modern- モダンブラウザー(baseline-widely-available)を対象にするbuild-sourcemaps- 環境ごとにソースマップを設定するbuild-tree-shaking- ESM で適切にツリーシェイキングされるようにするbuild-compression- Gzip と Brotli による圧縮build-asset-hashing- キャッシュを更新するためのコンテンツベースのハッシュ化
2. コード分割(CRITICAL)
split-route-lazy- React.lazy() によるルートベースの分割split-suspense-boundaries- Suspense 境界を適切に配置するsplit-dynamic-imports- 重いコンポーネントに dynamic import() を使用するsplit-component-lazy- 重要でないコンポーネントを遅延読み込みするsplit-prefetch-hints- ホバー時/アイドル時/ビューポート内でチャンクを先読みする
3. 開発(HIGH)
dev-dependency-prebundling- 起動を高速化するよう optimizeDeps を設定するdev-fast-refresh- React Fast Refresh のパターンdev-hmr-config- HMR サーバーの設定
4. アセットの処理(HIGH)
asset-image-optimization- 画像の最適化と遅延読み込みasset-svg-components- SVGR を使って SVG を React コンポーネントとして扱うasset-fonts- Web フォントの読み込み戦略asset-public-dir- public ディレクトリと JavaScript インポートの使い分け
5. 環境設定(MEDIUM)
env-vite-prefix- クライアント向け変数に VITE_ プレフィックスを使用するenv-modes- モード固有の環境ファイルenv-sensitive-data- クライアントコードにシークレットを決して公開しない
6. バンドル分析(MEDIUM)
bundle-visualizer- rollup-plugin-visualizer でバンドルを分析する
必須の設定
推奨する vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
build: {
target: 'baseline-widely-available',
sourcemap: false,
chunkSizeWarningLimit: 500,
rollupOptions: {
output: {
manualChunks: {
vendor: ['react', 'react-dom'],
},
},
},
},
optimizeDeps: {
include: ['react', 'react-dom'],
},
server: {
port: 3000,
hmr: {
overlay: true,
},
},
})
ルートベースのコード分割
import { lazy, Suspense } from 'react'
const Home = lazy(() => import('./pages/Home'))
const Dashboard = lazy(() => import('./pages/Dashboard'))
const Settings = lazy(() => import('./pages/Settings'))
function App() {
return (
<Suspense fallback={<LoadingSpinner />}>
{/* Routes here */}
</Suspense>
)
}
環境変数
// src/vite-env.d.ts
/// <reference types="vite/client" />
interface ImportMetaEnv {
readonly VITE_API_URL: string
readonly VITE_APP_TITLE: string
}
interface ImportMeta {
readonly env: ImportMetaEnv
}
使用方法
詳細な説明とコード例については、各ルールのファイルを参照してください:
rules/build-manual-chunks.md
rules/split-route-lazy.md
rules/env-vite-prefix.md
参考資料
完全版ドキュメント
すべてのルールを含む完全なガイドについては、AGENTS.md を参照してください。
コメント
Markdown 対応