ローカル開発
接続されたプロジェクトは、マシン上で実行するための2つのターゲット、serveとdevを公開します。違いはスコープです。つまり、アプリケーションのどの部分をローカルで実行し、どの部分をデプロイされたAWSインフラストラクチャを指すかという点です。
次のような接続を持つワークスペースを考えてみましょう。tRPC apiを呼び出すウェブサイトがあり、さらにmcpサーバーを呼び出すagentも呼び出します。
serveターゲットは、対象のプロジェクトのみをローカルで実行します。接続されている他のすべてのプロジェクトはデプロイ済みであることが期待され、実際のAWS URLでアクセスされます。
pnpm nx serve websiteyarn nx serve websitenpx nx serve websitebunx nx serve website対象のプロジェクトはデプロイされたリソースと通信するため、それらがどこにあるかを知る必要があります。ウェブサイトの場合、これはruntime-config.jsonによって提供されます(ローカルランタイム設定を参照)。これはデプロイされたアプリケーションから読み込みます。ランタイム設定を読み取るサーバーサイドプロジェクト(APIとエージェント)の場合は、RUNTIME_CONFIG_APP_ID環境変数を設定して、デプロイされたAppConfigアプリケーションを指すようにします。
単一のプロジェクトを、それが依存するすべての「実際の」デプロイ済みバージョンに対して反復処理したい場合は、serveを使用します。
devターゲットは、対象のプロジェクトとそれに推移的に接続されているすべてのプロジェクトをマシン上で実行します。接続ジェネレーターがこれを自動的に配線します。ウェブサイトでdevを実行すると、api、agent、およびエージェントを通じて到達するmcpサーバーのローカルサーバーも起動します。
pnpm nx dev websiteyarn nx dev websitenpx nx dev websitebunx nx dev websiteこの方法で実行すると、ウェブサイトのruntime-config.jsonは自動的にオーバーライドされ(ViteのMODEを介してlocal-devに設定)、デプロイされたURLの代わりにローカルで実行されているサーバーを指すようになります。
すべてのプロジェクトがローカルで実行されるため、デプロイされた依存関係はありません。
複数の接続されたプロジェクトを同時に作業していて、インフラストラクチャをデプロイせずに素早く反復処理したい場合は、devを使用します。
複数のコンポーネントを持つプロジェクト
Section titled “複数のコンポーネントを持つプロジェクト”一部のプロジェクトタイプは、単一のプロジェクト内に複数のコンポーネントを保持できます(例えば、複数のエージェントとMCPサーバーを含むTypeScriptまたはPythonプロジェクト)。これらの場合:
- プロジェクトレベルの
devターゲットは、プロジェクトのすべてのコンポーネントを一緒に起動します。各コンポーネントは生成時にdevに追加されます:
pnpm nx dev my-projectyarn nx dev my-projectnpx nx dev my-projectbunx nx dev my-project- 各コンポーネントは
<component-name>-devターゲットも公開するため、単一のコンポーネントを個別に実行できます:
pnpm nx my-component-dev my-projectyarn nx my-component-dev my-projectnpx nx my-component-dev my-projectbunx nx my-component-dev my-project各プロジェクトタイプのローカル開発サーバーの詳細については、関連するガイド(例えばReact Websiteガイド)を参照してください。