Guide de Démarrage Rapide
Ce guide vous explique les bases de l’installation et de l’utilisation de @aws/nx-plugin
pour développer rapidement des projets sur AWS.
Prérequis
Section intitulée « Prérequis »Les dépendances globales suivantes sont nécessaires avant de continuer :
Nécessaires
Section intitulée « Nécessaires »- Git
- Node >= 22 (Nous recommandons d’utiliser un gestionnaire comme NVM pour les versions de Node)
- vérifiez avec
node --version
- vérifiez avec
- PNPM >= 10 (vous pouvez aussi utiliser Yarn >= 4, Bun >= 1 ou NPM >= 10 si vous préférez)
- vérifiez avec
pnpm --version
,yarn --version
,bun --version
ounpm --version
- vérifiez avec
- UV >= 0.5.29
- installez Python 3.12 en exécutant :
uv python install 3.12.0
- vérifiez avec
uv python list --only-installed
- installez Python 3.12 en exécutant :
- Identifiants AWS configurés pour votre compte AWS cible (où votre application sera déployée)
Recommandés
Section intitulée « Recommandés »- Docker est requis pour certains générateurs
- Terraform >= 1.12 est requis si vous choisissez de l’utiliser pour l’infrastructure as code au lieu de CDK
- vérifiez avec
terraform --version
- vérifiez avec
- Si vous utilisez VSCode, nous recommandons d’installer l’extension Nx Console pour VSCode
Étape 1 : Initialiser un nouvel espace de travail Nx
Section intitulée « Étape 1 : Initialiser un nouvel espace de travail Nx »Exécutez la commande suivante pour créer un espace de travail Nx avec le gestionnaire de paquets de votre choix :
npx create-nx-workspace@~21.4.1 my-project --pm=pnpm --preset=@aws/nx-plugin --ci=skip
npx create-nx-workspace@~21.4.1 my-project --pm=yarn --preset=@aws/nx-plugin --ci=skip
npx create-nx-workspace@~21.4.1 my-project --pm=npm --preset=@aws/nx-plugin --ci=skip
npx create-nx-workspace@~21.4.1 my-project --pm=bun --preset=@aws/nx-plugin --ci=skip
Une fois terminé, accédez au répertoire du projet :
cd my-project
Étape 2 : Utiliser les générateurs pour scaffolder votre projet
Section intitulée « Étape 2 : Utiliser les générateurs pour scaffolder votre projet »Nous allons ajouter une API tRPC, un site React, une authentification Cognito et une infrastructure CDK dans ce guide rapide. Selon le type de projet que vous construisez, vous pouvez choisir n’importe quelle combinaison de générateurs pour initialiser rapidement votre projet. Consultez les Guides dans la barre de navigation à gauche pour voir la liste complète des options.
Ajouter une API tRPC
Section intitulée « Ajouter une API tRPC »- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)
dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - ts#trpc-api
- Remplissez les paramètres requis
- name: demo-api
- auth: IAM
- Cliquez sur
Generate
pnpm nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM
yarn nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM
npx nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM
bunx nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
pnpm nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM --dry-run
yarn nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM --dry-run
npx nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM --dry-run
bunx nx g @aws/nx-plugin:ts#trpc-api --name=demo-api --auth=IAM --dry-run
Cela créera l’API dans le dossier packages/demo-api
.
Ajouter un site React
Section intitulée « Ajouter un site React »- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)
dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - ts#react-website
- Remplissez les paramètres requis
- name: demo-website
- Cliquez sur
Generate
pnpm nx g @aws/nx-plugin:ts#react-website --name=demo-website
yarn nx g @aws/nx-plugin:ts#react-website --name=demo-website
npx nx g @aws/nx-plugin:ts#react-website --name=demo-website
bunx nx g @aws/nx-plugin:ts#react-website --name=demo-website
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
pnpm nx g @aws/nx-plugin:ts#react-website --name=demo-website --dry-run
yarn nx g @aws/nx-plugin:ts#react-website --name=demo-website --dry-run
npx nx g @aws/nx-plugin:ts#react-website --name=demo-website --dry-run
bunx nx g @aws/nx-plugin:ts#react-website --name=demo-website --dry-run
Cela scaffoldera un nouveau site React dans packages/demo-website
.
Ajouter l’authentification Cognito
Section intitulée « Ajouter l’authentification Cognito »- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)
dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - ts#react-website#auth
- Remplissez les paramètres requis
- project: @my-project/demo-website
- cognitoDomain: my-demo
- Cliquez sur
Generate
pnpm nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo
yarn nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo
npx nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo
bunx nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
pnpm nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --dry-run
yarn nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --dry-run
npx nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --dry-run
bunx nx g @aws/nx-plugin:ts#react-website#auth --project=@my-project/demo-website --cognitoDomain=my-demo --dry-run
Cela configure l’infrastructure nécessaire et le code React pour ajouter l’authentification Cognito à votre site.
Connecter le frontend au backend
Section intitulée « Connecter le frontend au backend »- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)
dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - api-connection
- Remplissez les paramètres requis
- sourceProject: @my-project/demo-website
- targetProject: @my-project/demo-api
- Cliquez sur
Generate
pnpm nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api
yarn nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api
npx nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api
bunx nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
pnpm nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --dry-run
yarn nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --dry-run
npx nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --dry-run
bunx nx g @aws/nx-plugin:api-connection --sourceProject=@my-project/demo-website --targetProject=@my-project/demo-api --dry-run
Cela configure les fournisseurs nécessaires pour que votre site puisse appeler votre API tRPC.
Ajouter l’infrastructure CDK
Section intitulée « Ajouter l’infrastructure CDK »- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)
dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - ts#infra
- Remplissez les paramètres requis
- name: infra
- Cliquez sur
Generate
pnpm nx g @aws/nx-plugin:ts#infra --name=infra
yarn nx g @aws/nx-plugin:ts#infra --name=infra
npx nx g @aws/nx-plugin:ts#infra --name=infra
bunx nx g @aws/nx-plugin:ts#infra --name=infra
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
pnpm nx g @aws/nx-plugin:ts#infra --name=infra --dry-run
yarn nx g @aws/nx-plugin:ts#infra --name=infra --dry-run
npx nx g @aws/nx-plugin:ts#infra --name=infra --dry-run
bunx nx g @aws/nx-plugin:ts#infra --name=infra --dry-run
Cela configure une application CDK que vous pouvez utiliser pour déployer votre infrastructure sur AWS.
Étape 3 : Exécuter votre site et votre API en local
Section intitulée « Étape 3 : Exécuter votre site et votre API en local »Utilisez la commande suivante pour démarrer les serveurs de développement locaux pour votre site et ses APIs connectées :
pnpm nx run demo-website:serve-local
yarn nx run demo-website:serve-local
npx nx run demo-website:serve-local
bunx nx run demo-website:serve-local
Votre site sera disponible à l’adresse http://localhost:4200
.
Les modifications apportées à votre site et à votre API seront reflétées en temps réel, car les serveurs locaux du site et de l’API rechargeront automatiquement les changements.
Étape 4 : Définir les ressources cloud et déployer sur AWS
Section intitulée « Étape 4 : Définir les ressources cloud et déployer sur AWS »Ouvrez packages/infra/src/stacks/application-stack.ts
et ajoutez le code suivant :
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'); }}
C’est tout le code CDK nécessaire pour déployer notre application full-stack.
Construire et déployer l’infrastructure
Section intitulée « Construire et déployer l’infrastructure »Ensuite, exécutez la commande suivante pour construire votre projet :
pnpm nx run-many --target build --all
yarn nx run-many --target build --all
npx nx run-many --target build --all
bunx nx run-many --target build --all
Exécutez la commande suivante pour déployer votre projet :
pnpm nx run infra:deploy my-project-sandbox/*
yarn nx run infra:deploy my-project-sandbox/*
npx nx run infra:deploy my-project-sandbox/*
bunx nx run infra:deploy my-project-sandbox/*
Étape 5 : Tester le site avec les ressources cloud déployées
Section intitulée « Étape 5 : Tester le site avec les ressources cloud déployées »-
Récupérez le fichier
runtime-config.json
:Terminal window pnpm nx run demo-website:load:runtime-configTerminal window yarn nx run demo-website:load:runtime-configTerminal window npx nx run demo-website:load:runtime-configTerminal window bunx nx run demo-website:load:runtime-config -
Démarrez le serveur local du site
Terminal window pnpm nx run demo-website:serveTerminal window yarn nx run demo-website:serveTerminal window npx nx run demo-website:serveTerminal window bunx nx run demo-website:serve
Votre site sera disponible à l’adresse http://localhost:4200
et pointera vers les ressources déployées pour l’API et l’authentification.
Félicitations ! 🎉 Vous avez réussi à construire et déployer une application full-stack en utilisant @aws/nx-plugin
!