Salta ai contenuti

Guida Rapida

Questa guida ti accompagna attraverso le basi dell’installazione e dell’utilizzo di @aws/nx-plugin per costruire rapidamente progetti su AWS.

Le seguenti dipendenze globali sono necessarie prima di procedere:

  • Git
  • Node >= 22 (Consigliamo di utilizzare qualcosa come NVM per gestire le versioni di node)
    • verifica eseguendo node --version
  • UV >= 0.5.29
    1. installa Python 3.14 eseguendo: uv python install 3.14
    2. verifica con uv python list --only-installed

Crea un workspace Nx con il package manager di tua scelta e apri la directory che crea:

Crea il tuo workspace@aws/nx-workspace

pnpm create @aws/nx-workspace my-project
Componi il tuo comando3

Obbligatorio

Finestra del terminale
cd my-project

Ti viene richiesto di scegliere il tuo provider di infrastructure as code, CDK o Terraform.

Costruiremo un’applicazione full-stack: un’API tRPC, un sito web React, l’autenticazione Cognito e l’infrastruttura CDK o Terraform. Chiedi a un assistente AI di strutturarla per te, oppure esegui tu stesso i generatori — entrambi i percorsi portano allo stesso workspace.

  1. Apri il workspace nel tuo assistente di codifica AI.

    I nuovi workspace vengono forniti con il server MCP del plugin già configurato per Kiro, Claude Code, Cursor, Gemini CLI, GitHub Copilot e OpenAI Codex, quindi il tuo assistente può cercare i generatori del plugin ed eseguirli senza alcuna configurazione.

  2. Chiedi l’applicazione:

    Prompt

    Create a tRPC API called demo-api, and a React website called demo-website. Add Cognito authentication to the website, connect the website to the API, and add an infrastructure project called infra. Then instantiate the generated infrastructure components so the website and API deploy, granting authenticated users access to the API.

    Il tuo assistente scopre i generatori attraverso il server MCP e li esegue, nell’ordine richiesto dalle loro dipendenze. Rivedi le modifiche che apporta, quindi continua al Passaggio 3.

Esegui i generatori che strutturano l’applicazione. Usa il pulsante qui sotto per copiarli tutti, oppure esegui ciascuno tu stesso come descritto sotto il diagramma.

Loading the diagram…

A seconda del tipo di progetto che stai costruendo, puoi scegliere qualsiasi combinazione di generatori per avviare rapidamente il tuo progetto. Consulta i Generatori nella barra di navigazione a sinistra per vedere l’elenco completo delle opzioni, oppure prova il graph builder per costruire il tuo workspace visivamente.

Esegui questo generatore@aws/nx-plugin:ts#api

pnpm nx g @aws/nx-plugin:ts#api --no-interactive
Opzioni di questo passaggio2

Obbligatorio

Questo creerà l’API all’interno della cartella packages/demo-api.

Esegui questo generatore@aws/nx-plugin:ts#website

pnpm nx g @aws/nx-plugin:ts#website --no-interactive
Opzioni di questo passaggio1

Obbligatorio

Questo crea un nuovo sito web React in packages/demo-website.

Esegui questo generatore@aws/nx-plugin:ts#website#auth

pnpm nx g @aws/nx-plugin:ts#website#auth --no-interactive
Opzioni di questo passaggio1

Obbligatorio

Questo configura l’infrastruttura necessaria e il codice React per aggiungere l’autenticazione Cognito al tuo sito web.

Esegui questo generatore@aws/nx-plugin:connection

pnpm nx g @aws/nx-plugin:connection --no-interactive
Opzioni di questo passaggio2

Obbligatorio

Obbligatorio

Questo configura i provider necessari per garantire che il tuo sito web possa chiamare la tua API tRPC.

Aggiungi il progetto di infrastruttura in base al tuo provider IAC scelto.

Esegui questo generatore@aws/nx-plugin:ts#infra

pnpm nx g @aws/nx-plugin:ts#infra --no-interactive
Opzioni di questo passaggio1

Obbligatorio

Questo configura un’app CDK che puoi utilizzare per distribuire la tua infrastruttura su AWS.

Passaggio 3: Eseguire il Sito Web e l’API Localmente

Sezione intitolata “Passaggio 3: Eseguire il Sito Web e l’API Localmente”

Utilizza il seguente comando per avviare i server di sviluppo locali per il tuo sito web e le sue API connesse:

Terminal window
pnpm dev

Il tuo sito web sarà disponibile all’indirizzo http://localhost:4200.

Le modifiche sia al tuo sito web che all’API si rifletteranno in tempo reale poiché sia il sito web locale che i server API si ricaricheranno automaticamente.

Provalo: chiama l'API dal tuo sito web

Passaggio 4: Definire le Risorse Cloud e Distribuire su AWS

Sezione intitolata “Passaggio 4: Definire le Risorse Cloud e Distribuire su AWS”

Apri packages/infra/src/stacks/application-stack.ts e aggiungi il seguente codice:

import {
DemoApi,
DemoWebsite,
UserIdentity,
} from '@my-project/common-constructs';
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
export class ApplicationStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const identity = new UserIdentity(this, 'identity');
const api = new DemoApi(this, 'api', {
integrations: DemoApi.defaultIntegrations(this).build(),
});
api.grantInvokeAccess(identity.identityPool.authenticatedRole);
new DemoWebsite(this, 'website');
}
}

Questo è tutto il CDK che dobbiamo scrivere per distribuire la nostra applicazione full-stack.

Successivamente, esegui il seguente comando per costruire il tuo progetto:

Terminal window
pnpm build

Esegui il bootstrap della tua infrastruttura:

Terminal window
pnpm nx bootstrap infra

Distribuisci il tuo progetto:

Terminal window
pnpm nx deploy-sandbox infra

Passaggio 5: Testare il Sito Web con le Risorse Cloud Distribuite

Sezione intitolata “Passaggio 5: Testare il Sito Web con le Risorse Cloud Distribuite”
  1. Recupera il file runtime-config.json:

    Terminal window
    pnpm nx load-runtime-config demo-website
  2. Avvia il server del sito web locale

    Terminal window
    pnpm nx serve demo-website

Il tuo sito web sarà disponibile all’indirizzo http://localhost:4200 e punterà alle risorse che hai distribuito per l’API e l’autenticazione.

Per accedere, dovrai creare un utente nel pool di utenti Cognito.

Clicca qui per le istruzioni usando AWS CLI

Il tuo sito web è anche servito da CloudFront. Apri il nome di dominio della sua distribuzione (che viene stampato sul tuo terminale dopo la distribuzione) per utilizzare la versione in esecuzione interamente su AWS.

Congratulazioni! 🎉 Hai costruito e distribuito con successo un’applicazione full-stack utilizzando @aws/nx-plugin!

Quando hai finito, elimina le risorse che hai distribuito per evitare costi continui:

Terminal window
pnpm nx destroy-sandbox infra

Per rimuovere le risorse di bootstrap, segui le istruzioni qui sotto:

Elimina lo stack di bootstrap in ogni regione di cui hai eseguito il bootstrap, inclusa us-east-1. Questo rimuove i ruoli di bootstrap e il repository delle immagini container:

Finestra del terminale
aws cloudformation delete-stack --stack-name CDKToolkit --region <region>