Desenvolvimento Local
Projetos conectados expõem dois targets para executá-los em sua máquina: serve e serve-local. A diferença é de escopo — quanto da sua aplicação é executado localmente versus apontando para a infraestrutura AWS implantada.
Considere um workspace com as seguintes conexões: um website que chama uma api tRPC, e também chama um agent que por sua vez chama um servidor mcp.
O target serve executa apenas o projeto alvo localmente. Todos os outros projetos aos quais ele se conecta devem estar implantados, e são acessados em sua URL AWS real.
pnpm nx serve websiteyarn nx serve websitenpx nx serve websitebunx nx serve websiteComo o projeto alvo se comunica com recursos implantados, ele precisa saber onde eles estão. Para um website, isso é fornecido por seu runtime-config.json (veja Local Runtime Config), que você carrega de uma aplicação implantada. Para projetos do lado do servidor (APIs e agents) que leem Runtime Configuration, defina a variável de ambiente RUNTIME_CONFIG_APP_ID para apontar para sua aplicação AppConfig implantada.
Use serve quando você quiser iterar em um único projeto contra as versões “reais” implantadas de tudo de que ele depende.
O target dev executa o projeto alvo e todos os projetos conectados a ele transitivamente, todos em sua máquina. O gerador de conexão configura isso automaticamente — executar dev no website também inicia servidores locais para a api, o agent e o servidor mcp que ele alcança através do agent.
pnpm nx dev websiteyarn nx dev websitenpx nx dev websitebunx nx dev websiteQuando executado dessa forma, o runtime-config.json do website é automaticamente sobrescrito (via MODE do Vite, definido como local-dev) para que aponte para seus servidores em execução local em vez de URLs implantadas.
Todos os projetos são executados localmente, portanto não há dependências implantadas.
Use serve-local quando você estiver trabalhando em vários projetos conectados ao mesmo tempo e quiser iterar rapidamente sem implantar sua infraestrutura.
dev é o comando canônico para desenvolvimento local. Todo projeto com um target serve-local expõe um target dev como um alias para ele, então você pode iniciar um projeto (e tudo conectado a ele) com:
pnpm nx dev websiteyarn nx dev websitenpx nx dev websitebunx nx dev websitePrefira dev em vez de serve-local — é mais curto, consistente em todos os tipos de projeto e, para projetos com múltiplos componentes, inicia todos eles (veja abaixo). serve-local permanece disponível se você precisar direcionar um único componente.
Projetos com múltiplos componentes
Seção intitulada “Projetos com múltiplos componentes”Alguns tipos de projeto podem conter múltiplos componentes em um único projeto (por exemplo, um projeto TypeScript ou Python contendo vários agents e servidores MCP). Para estes:
- Cada componente expõe um alias
<component-name>-devpara seu target<component-name>-serve-local, então você pode executar um único componente por conta própria:
pnpm nx run my-project:my-component-devyarn nx run my-project:my-component-devnpx nx run my-project:my-component-devbunx nx run my-project:my-component-dev- O target
devno nível do projeto inicia todos os componentes do projeto juntos. Cada componente é adicionado aodevconforme é gerado:
pnpm nx dev my-projectyarn nx dev my-projectnpx nx dev my-projectbunx nx dev my-projectComo o Nx identifica tarefas por project:target, qualquer target serve-local compartilhado entre componentes (como um servidor MCP comum conectado a dois agents) é executado exatamente uma vez quando você inicia dev.
Para mais detalhes sobre o servidor de desenvolvimento local de cada tipo de projeto, consulte o guia relevante — por exemplo, o guia React Website.