Ir al contenido

Guía de Inicio Rápido

Esta guía te lleva a través de los conceptos básicos de instalación y uso de @aws/nx-plugin para construir proyectos rápidamente en AWS.

Las siguientes dependencias globales son necesarias antes de continuar:

  • Git
  • Node >= 22 (Recomendamos usar algo como NVM para gestionar tus versiones de node)
    • verifica ejecutando node --version
  • UV >= 0.5.29
    1. instala Python 3.14 ejecutando: uv python install 3.14.0
    2. verifica con uv python list --only-installed

Paso 1: Inicializar un Nuevo Espacio de Trabajo Nx

Sección titulada «Paso 1: Inicializar un Nuevo Espacio de Trabajo Nx»

Ejecuta el siguiente comando para crear un espacio de trabajo Nx con el gestor de paquetes de tu elección:

Terminal window
pnpm create @aws/nx-workspace my-project

Una vez completado, navega al directorio del proyecto:

Ventana de terminal
cd my-project

Paso 2: Usar Generadores para Estructurar tu Proyecto

Sección titulada «Paso 2: Usar Generadores para Estructurar tu Proyecto»

Agregaremos una API tRPC, un Sitio Web React, Autenticación Cognito e Infraestructura CDK o Terraform en esta guía de inicio rápido. Dependiendo del tipo de proyecto que estés construyendo, puedes elegir cualquier combinación de generadores para inicializar rápidamente tu proyecto. Consulta los Generadores en la barra de navegación a la izquierda para ver la lista completa de opciones, o prueba el constructor de grafos para construir tu espacio de trabajo visualmente.

Como atajo, puedes usar el botón a continuación para copiar los comandos para estructurar la aplicación completa.

Loading the diagram…

De lo contrario, sigue los pasos a continuación para ejecutar cada generador tú mismo.

Terminal window
pnpm nx g @aws/nx-plugin:ts#api --name=demo-api --framework=trpc --auth=iam --no-interactive
También puede realizar una ejecución en seco para ver qué archivos se cambiarían
Terminal window
pnpm nx g @aws/nx-plugin:ts#api --name=demo-api --framework=trpc --auth=iam --no-interactive --dry-run

Esto creará la API dentro de la carpeta packages/demo-api.

Terminal window
pnpm nx g @aws/nx-plugin:ts#website --name=demo-website --no-interactive
También puede realizar una ejecución en seco para ver qué archivos se cambiarían
Terminal window
pnpm nx g @aws/nx-plugin:ts#website --name=demo-website --no-interactive --dry-run

Esto estructura un nuevo sitio web React en packages/demo-website.

Terminal window
pnpm nx g @aws/nx-plugin:ts#website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --no-interactive
También puede realizar una ejecución en seco para ver qué archivos se cambiarían
Terminal window
pnpm nx g @aws/nx-plugin:ts#website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --no-interactive --dry-run

Esto configura la infraestructura necesaria y el código React para agregar Autenticación Cognito a tu sitio web.

Terminal window
pnpm nx g @aws/nx-plugin:connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --no-interactive
También puede realizar una ejecución en seco para ver qué archivos se cambiarían
Terminal window
pnpm nx g @aws/nx-plugin:connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --no-interactive --dry-run

Esto configura los proveedores necesarios para asegurar que tu sitio web pueda llamar a tu API tRPC.

Agrega el proyecto de infraestructura basado en tu proveedor IAC elegido.

Terminal window
pnpm nx g @aws/nx-plugin:ts#infra --name=infra --no-interactive
También puede realizar una ejecución en seco para ver qué archivos se cambiarían
Terminal window
pnpm nx g @aws/nx-plugin:ts#infra --name=infra --no-interactive --dry-run

Esto configura una Aplicación CDK que puedes usar para desplegar tu infraestructura en AWS.

Paso 3: Ejecutar tu Sitio Web y API Localmente

Sección titulada «Paso 3: Ejecutar tu Sitio Web y API Localmente»

Usa el siguiente comando para iniciar servidores de desarrollo locales para tu sitio web y sus APIs conectadas:

Terminal window
pnpm dev

Tu sitio web estará disponible en http://localhost:4200.

Los cambios tanto en tu sitio web como en la API se reflejarán en tiempo real ya que tanto el sitio web local como los servidores de API se recargarán automáticamente.

Paso 4: Definir Recursos en la Nube y Desplegar en AWS

Sección titulada «Paso 4: Definir Recursos en la Nube y Desplegar en AWS»

Abre packages/infra/src/stacks/application-stack.ts y agrega el siguiente código:

import { Stack, StackProps } from 'aws-cdk-lib';
import { DemoApi, DemoWebsite, UserIdentity } from '@my-project/common-constructs';
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');
}
}

Esto es todo el CDK que necesitamos escribir para desplegar nuestra aplicación full stack.

A continuación, ejecuta el siguiente comando para construir tu proyecto:

Terminal window
pnpm build

Inicializa tu infraestructura:

Terminal window
pnpm nx bootstrap infra

Despliega tu proyecto:

Terminal window
pnpm nx deploy-sandbox infra

Paso 5: Probar el Sitio Web con Recursos en la Nube Desplegados

Sección titulada «Paso 5: Probar el Sitio Web con Recursos en la Nube Desplegados»
  1. Obtén el archivo runtime-config.json:

    Terminal window
    pnpm nx load-runtime-config demo-website
  2. Inicia el servidor del sitio web local

    Terminal window
    pnpm nx serve demo-website

Tu sitio web estará disponible en http://localhost:4200, y apuntará a los recursos que desplegaste para la API y la autenticación.


¡Felicitaciones! 🎉 ¡Has construido y desplegado exitosamente una aplicación full-stack usando @aws/nx-plugin!