Ir al contenido

Desarrollo Local

Los proyectos conectados exponen dos targets para ejecutarlos en tu máquina: serve y dev. La diferencia es una de alcance — cuánto de tu aplicación se ejecuta localmente versus apuntando a la infraestructura de AWS desplegada.

Considera un workspace con las siguientes conexiones: un sitio web que llama a una api tRPC, y también llama a un agent que a su vez llama a un servidor mcp.

El target serve ejecuta solo el proyecto objetivo localmente. Cada otro proyecto al que se conecta se espera que esté desplegado, y se accede a él en su URL real de AWS.

Terminal window
pnpm nx serve website

Debido a que el proyecto objetivo se comunica con recursos desplegados, necesita saber dónde están. Para un sitio web esto se proporciona mediante su runtime-config.json (ver Local Runtime Config), que cargas desde una aplicación desplegada. Para proyectos del lado del servidor (APIs y agentes) que leen Runtime Configuration, establece la variable de entorno RUNTIME_CONFIG_APP_ID para apuntar a tu aplicación AppConfig desplegada.

Diagram

Usa serve cuando quieras iterar en un solo proyecto contra las versiones “reales” desplegadas de todo de lo que depende.

El target dev ejecuta el proyecto objetivo y cada proyecto conectado a él transitivamente, todo en tu máquina. El generador de conexiones configura esto automáticamente — ejecutar dev en el sitio web también inicia servidores locales para la api, el agent y el servidor mcp al que accede a través del agente.

Terminal window
pnpm nx dev website

Cuando se ejecuta de esta manera, el runtime-config.json del sitio web se sobrescribe automáticamente (a través del MODE de Vite, establecido a local-dev) para que apunte a tus servidores ejecutándose localmente en lugar de URLs desplegadas.

Diagram

Cada proyecto se ejecuta localmente, por lo que no hay dependencias desplegadas.

Usa dev cuando estés trabajando en varios proyectos conectados a la vez y quieras iterar rápidamente sin desplegar tu infraestructura.

Algunos tipos de proyectos pueden contener múltiples componentes en un solo proyecto (por ejemplo, un proyecto TypeScript o Python que contiene varios agentes y servidores MCP). Para estos:

  • El target dev a nivel de proyecto inicia todos los componentes del proyecto juntos. Cada componente se agrega a dev a medida que se genera:
Terminal window
pnpm nx dev my-project
  • Cada componente también expone un target <component-name>-dev, para que puedas ejecutar un solo componente por sí solo:
Terminal window
pnpm nx my-component-dev my-project

Para más detalles sobre el servidor de desarrollo local de cada tipo de proyecto, consulta la guía relevante — por ejemplo, la guía de React Website.