Pular para o conteúdo

Guia de Início Rápido

Este guia explica o básico da instalação e uso do @aws/nx-plugin para construir projetos rapidamente na AWS.

As seguintes dependências globais são necessárias antes de prosseguir:

  • Git
  • Node >= 22 (Recomendamos usar algo como NVM para gerenciar versões do Node)
    • verifique executando node --version
  • PNPM >= 10 (também pode usar Yarn >= 4, Bun >= 1 ou NPM >= 10 se preferir)
    • verifique executando pnpm --version, yarn --version, bun --version ou npm --version
  • UV >= 0.5.29
    1. instale Python 3.12 executando: uv python install 3.12.0
    2. verifique com uv python list --only-installed
  • Credenciais AWS configuradas para sua conta AWS de destino (onde seu aplicativo será implantado)
  • Se estiver usando VSCode, recomendamos instalar o Nx Console VSCode Plugin.

Execute o seguinte comando para criar um workspace Nx com o gerenciador de pacotes de sua escolha:

Terminal window
npx create-nx-workspace@~21.0.3 my-project --pm=pnpm --preset=@aws/nx-plugin --ci=skip

Após a conclusão, navegue até o diretório do projeto:

Terminal window
cd my-project

Passo 2: Usar Geradores para Estruturar seu Projeto

Seção intitulada “Passo 2: Usar Geradores para Estruturar seu Projeto”

Vamos adicionar uma API tRPC, Site React, Autenticação Cognito e Infraestrutura CDK neste guia rápido. Dependendo do tipo de projeto que você está construindo, você pode escolher qualquer combinação de geradores para inicializar rapidamente seu projeto. Confira os Guias na barra de navegação à esquerda para ver a lista completa de opções.

  1. Instale o Nx Console VSCode Plugin se ainda não o fez
  2. Abra o console Nx no VSCode
  3. Clique em Generate (UI) na seção "Common Nx Commands"
  4. Procure por @aws/nx-plugin - ts#trpc-api
  5. Preencha os parâmetros obrigatórios
    • name: demo-api
    • auth: IAM
  6. Clique em Generate

Isso criará a API dentro da pasta packages/demo-api.

  1. Instale o Nx Console VSCode Plugin se ainda não o fez
  2. Abra o console Nx no VSCode
  3. Clique em Generate (UI) na seção "Common Nx Commands"
  4. Procure por @aws/nx-plugin - ts#react-website
  5. Preencha os parâmetros obrigatórios
    • name: demo-website
  6. Clique em Generate

Isso estrutura um novo site React em packages/demo-website.

  1. Instale o Nx Console VSCode Plugin se ainda não o fez
  2. Abra o console Nx no VSCode
  3. Clique em Generate (UI) na seção "Common Nx Commands"
  4. Procure por @aws/nx-plugin - ts#react-website#auth
  5. Preencha os parâmetros obrigatórios
    • project: @my-project/demo-website
    • cognitoDomain: my-demo
  6. Clique em Generate

Isso configura a infraestrutura necessária e o código React para adicionar Autenticação Cognito ao seu site.

  1. Instale o Nx Console VSCode Plugin se ainda não o fez
  2. Abra o console Nx no VSCode
  3. Clique em Generate (UI) na seção "Common Nx Commands"
  4. Procure por @aws/nx-plugin - api-connection
  5. Preencha os parâmetros obrigatórios
    • sourceProject: @my-project/demo-website
    • targetProject: @my-project/demo-api
  6. Clique em Generate

Isso configura os provedores necessários para garantir que seu site possa chamar sua API tRPC.

  1. Instale o Nx Console VSCode Plugin se ainda não o fez
  2. Abra o console Nx no VSCode
  3. Clique em Generate (UI) na seção "Common Nx Commands"
  4. Procure por @aws/nx-plugin - ts#infra
  5. Preencha os parâmetros obrigatórios
    • name: infra
  6. Clique em Generate

Isso configura uma Aplicação CDK que você pode usar para implantar sua infraestrutura na AWS.

Use o seguinte comando para iniciar servidores locais de desenvolvimento para seu site e APIs conectadas:

Terminal window
pnpm nx run demo-website:serve-local

Seu site estará disponível em http://localhost:4200.

Alterações tanto no seu site quanto na API serão refletidas em tempo real, pois ambos os servidores locais recarregarão automaticamente.

Passo 4: Definir Recursos Cloud e Implantar na AWS

Seção intitulada “Passo 4: Definir Recursos Cloud e Implantar na AWS”

Abra packages/infra/src/stacks/application-stack.ts e adicione o seguinte código:

import * as cdk from 'aws-cdk-lib';
import { DemoApi, DemoWebsite, UserIdentity } from ':my-project/common-constructs';
import { Construct } from 'constructs';
export class ApplicationStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.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');
}
}

Este é todo o código CDK necessário para implantar nossa aplicação full-stack.

Em seguida, execute o seguinte comando para construir seu projeto:

Terminal window
pnpm nx run-many --target build --all

Execute o seguinte comando para implantar seu projeto:

Terminal window
pnpm nx run infra:deploy --all

Passo 5: Testar o Site com Recursos Cloud Implantados

Seção intitulada “Passo 5: Testar o Site com Recursos Cloud Implantados”
  1. Obtenha o arquivo runtime-config.json:

    Terminal window
    pnpm nx run demo-website:load:runtime-config
  2. Inicie o servidor local do site

    Terminal window
    pnpm nx run demo-website:serve

Seu site estará disponível em http://localhost:4200 e apontará para os recursos implantados da API e autenticação.


Parabéns! 🎉 Você implantou com sucesso uma aplicação full-stack usando @aws/nx-plugin!