Skip to content

ローカル開発

接続されたプロジェクトは、マシン上で実行するための2つのターゲットを公開します:serveserve-local です。違いはスコープです — アプリケーションのどの部分をローカルで実行し、どの部分をデプロイされた AWS インフラストラクチャを指すかという点です。

次のような接続を持つワークスペースを考えてみましょう:tRPC api を呼び出すウェブサイトがあり、さらに agent を呼び出し、その agentmcp サーバーを呼び出します。

serve ターゲットは、対象のプロジェクトのみをローカルで実行します。接続されている他のすべてのプロジェクトはデプロイ済みであることが期待され、実際の AWS URL でアクセスされます。

Terminal window
pnpm nx serve website

対象のプロジェクトはデプロイされたリソースと通信するため、それらがどこにあるかを知る必要があります。ウェブサイトの場合、これは runtime-config.json によって提供されます(Local Runtime Config を参照)。これはデプロイされたアプリケーションから読み込みます。Runtime Configuration を読み取るサーバーサイドプロジェクト(API とエージェント)の場合は、RUNTIME_CONFIG_APP_ID 環境変数を設定して、デプロイされた AppConfig アプリケーションを指すようにします。

Diagram

serve は、依存するすべてのものの「実際の」デプロイ済みバージョンに対して、単一のプロジェクトを反復処理したい場合に使用します。

serve-local ターゲットは、対象のプロジェクトそれに推移的に接続されているすべてのプロジェクトを、すべてマシン上で実行します。接続ジェネレーターがこれを自動的に配線します — ウェブサイトで serve-local を実行すると、apiagent、およびエージェントを通じて到達する mcp サーバーのローカルサーバーも起動します。

Terminal window
pnpm nx serve-local website

この方法で実行すると、ウェブサイトの runtime-config.json は自動的にオーバーライドされ(Vite の MODE を介して serve-local に設定)、デプロイされた URL の代わりにローカルで実行されているサーバーを指すようになります。

Diagram

すべてのプロジェクトがローカルで実行されるため、デプロイされた依存関係はありません。

dev は、複数の接続されたプロジェクトを同時に作業していて、インフラストラクチャをデプロイせずに素早く反復処理したい場合に使用します。

複数のコンポーネントを持つプロジェクト

Section titled “複数のコンポーネントを持つプロジェクト”

一部のプロジェクトタイプは、単一のプロジェクト内に複数のコンポーネントを保持できます(たとえば、複数のエージェントと MCP サーバーを含む TypeScript または Python プロジェクト)。これらの場合:

  • プロジェクトレベルの dev ターゲットは、プロジェクトのすべてのコンポーネントを一緒に起動します。各コンポーネントは生成時に dev に追加されます:
Terminal window
pnpm nx dev my-project
  • 各コンポーネントは <component-name>-dev ターゲットも公開しているため、単一のコンポーネントを単独で実行できます:
Terminal window
pnpm nx my-component-dev my-project

各プロジェクトタイプのローカル開発サーバーの詳細については、関連するガイドを参照してください — たとえば、React Website ガイドなどです。 �ーネントは生成時に dev に追加されます:

Terminal window
pnpm nx dev my-project

Nx はタスクを project:target で識別するため、コンポーネント間で共有される serve-local ターゲット(2つのエージェントに接続された共通の MCP サーバーなど)は、dev を起動したときに正確に1回だけ実行されます。

各プロジェクトタイプのローカル開発サーバーの詳細については、関連するガイドを参照してください — たとえば、React Website ガイドなどです。 ガイドなどです。