로컬 개발
연결된 프로젝트는 로컬 머신에서 실행하기 위한 두 가지 타겟을 제공합니다: serve와 dev. 차이점은 범위입니다 — 애플리케이션의 얼마나 많은 부분이 로컬에서 실행되는지, 배포된 AWS 인프라를 가리키는지의 차이입니다.
tRPC api를 호출하고, mcp 서버를 차례로 호출하는 agent도 호출하는 웹사이트가 있는 워크스페이스를 고려해 보겠습니다.
serve
섹션 제목: “serve”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”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를 사용하세요.
여러 컴포넌트가 있는 프로젝트
섹션 제목: “여러 컴포넌트가 있는 프로젝트”일부 프로젝트 타입은 단일 프로젝트에 여러 컴포넌트를 포함할 수 있습니다(예: 여러 에이전트와 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 가이드를 참조하세요.