React Router CLI

React Router CLI は @react-router/dev パッケージに含まれています。package.jsondevDependencies に含まれていることを確認し、サーバーにデプロイされないようにしてください。

利用可能なコマンドとフラグの全リストを表示するには、以下を実行します。

npx @react-router/dev -h

react-router build

Vite を使用して、プロダクション用にアプリをビルドします。このコマンドは process.env.NODE_ENVproduction に設定し、デプロイ用にアウトプットをミニファイします。

react-router build
フラグ説明デフォルト
--assetsInlineLimitバイト単位での静的アセットの base64 インライン閾値number4096
--clearScreenログ出力時の画面クリアを許可/無効化boolean
--config, -c指定された設定ファイルを使用string
--emptyOutDirルート外にある outDir を強制的に空にするboolean
--logLevel, -l指定されたログレベルを使用"info" | "warn" | "error" | "silent" | string
--minifyミニファイを有効/無効にするか、使用するミニファイアを指定boolean | "terser" | "esbuild""esbuild"
--mode, -m環境モードを設定string
--profile組み込みの Node.js インスペクターを開始
--sourcemapClientクライアントビルド用のソースマップを出力boolean | "inline" | "hidden"false
--sourcemapServerサーバービルド用のソースマップを出力boolean | "inline" | "hidden"false

react-router dev

Vite を使用して、HMR と Hot Data Revalidation (HDR) を備えた開発モードでアプリを実行します。

react-router dev

「Hot Data Revalidation」とは?

HMR と同様に、HDR はページをリフレッシュすることなくアプリをホット更新する方法です。これにより、編集がアプリに適用されている間もアプリの state を保持できます。HMR は、アプリの component、マークアップ、またはスタイルを変更したときのような、クライアントサイドのコード更新を処理します。同様に、HDR はサーバーサイドのコード更新を処理します。

これは、現在のページ(または現在のページが依存するコード)に変更を加えるたびに、React Router が loader からデータを再フェッチすることを意味します。これにより、アプリはクライアントサイドまたはサーバーサイドの最新のコード変更で_常に_最新の状態に保たれます。

フラグ説明デフォルト
--clearScreenログ出力時の画面クリアを許可/無効化boolean
--config, -c指定された設定ファイルを使用string
--corsCORS を有効にするboolean
--forceオプティマイザーにキャッシュを無視して再バンドルするよう強制boolean
--hostホスト名を指定string
--logLevel, -l指定されたログレベルを使用"info" | "warn" | "error" | "silent" | string
--mode, -m環境モードを設定string
--open起動時にブラウザを開くboolean | string
--portポートを指定number
--profile組み込みの Node.js インスペクターを開始
--strictPort指定されたポートが既に使用中の場合、終了するboolean

react-router reveal

React Router は、デフォルトでアプリケーションのエントリーポイントを処理します。

これらのエントリーポイントを制御したい場合は、npx react-router reveal を実行して、app ディレクトリに entry.client.tsxentry.server.tsx ファイルを生成できます。これらのファイルが存在する場合、React Router はデフォルトの代わりにこれらを使用します。

npx react-router reveal
フラグ説明デフォルト
--config, -c指定された設定ファイルを使用string
--mode, -m環境モードを設定string
--no-typescriptプレーンな JavaScript ファイルを生成booleanfalse
--typescriptTypeScript ファイルを生成booleantrue

react-router routes

アプリ内の routes をターミナルに出力します。

react-router routes

デフォルトでは、routes ツリーは JSX フォーマットになります。--json フラグを使用して、routes を JSON フォーマットで取得することもできます。

react-router routes --json
フラグ説明デフォルト
--config, -c指定された設定ファイルを使用string
--jsonroutes を JSON フォーマットで出力booleanfalse
--mode, -m環境モードを設定string

react-router typegen

routes の TypeScript 型を生成します。これは開発中に自動的に行われますが、必要に応じて手動で実行できます(例: CI で tsc を実行する前に型を生成する場合など)。詳細については、Type Safety を参照してください。

react-router typegen
フラグ説明デフォルト
--config, -c指定された設定ファイルを使用string
--mode, -m環境モードを設定string
--watch変更を監視booleanfalse