Salta ai contenuti

Sviluppo Locale

I progetti connessi espongono due target per eseguirli sulla tua macchina: serve e dev. La differenza riguarda l’ambito — quanto della tua applicazione viene eseguito localmente rispetto a quanto punta all’infrastruttura AWS distribuita.

Considera un workspace con le seguenti connessioni: un sito web che chiama un’api tRPC, e chiama anche un agent che a sua volta chiama un server mcp.

Il target serve esegue solo il progetto di destinazione localmente. Ogni altro progetto a cui si connette è previsto che sia distribuito, e viene raggiunto al suo URL AWS reale.

Terminal window
pnpm nx serve website

Poiché il progetto di destinazione comunica con risorse distribuite, deve sapere dove si trovano. Per un sito web questo è fornito dal suo runtime-config.json (vedi Local Runtime Config), che carichi da un’applicazione distribuita. Per i progetti lato server (API e agent) che leggono la Runtime Configuration, imposta la variabile d’ambiente RUNTIME_CONFIG_APP_ID per puntare alla tua applicazione AppConfig distribuita.

Diagram

Usa serve quando vuoi iterare su un singolo progetto rispetto alle versioni “reali” distribuite di tutto ciò da cui dipende.

Il target dev esegue il progetto di destinazione e ogni progetto connesso ad esso transitivamente, tutto sulla tua macchina. Il generatore di connessioni configura questo automaticamente — eseguire dev sul sito web avvia anche i server locali per l’api, l’agent e il server mcp che raggiunge attraverso l’agent.

Terminal window
pnpm nx dev website

Quando eseguito in questo modo, il runtime-config.json del sito web viene automaticamente sovrascritto (tramite MODE di Vite, impostato su local-dev) in modo che punti ai tuoi server in esecuzione locale invece che agli URL distribuiti.

Diagram

Ogni progetto viene eseguito localmente, quindi non ci sono dipendenze distribuite.

Usa dev quando stai lavorando su diversi progetti connessi contemporaneamente e vuoi iterare rapidamente senza distribuire la tua infrastruttura.

Alcuni tipi di progetto possono contenere più componenti in un singolo progetto (ad esempio un progetto TypeScript o Python contenente diversi agent e server MCP). Per questi:

  • Il target dev a livello di progetto avvia tutti i componenti del progetto insieme. Ogni componente viene aggiunto a dev man mano che viene generato:
Terminal window
pnpm nx dev my-project
  • Ogni componente espone anche un target <component-name>-dev, così puoi eseguire un singolo componente da solo:
Terminal window
pnpm nx my-component-dev my-project

Per maggiori dettagli sul server di sviluppo locale di ciascun tipo di progetto, consulta la guida pertinente — ad esempio la guida React Website.