NestJS de Base pour les Débutants Absolus

Date

Date

Date

April 18, 2024

April 18, 2024

April 18, 2024

Auteur

Auteur

Auteur

David Osuchukwu

David Osuchukwu

David Osuchukwu

Bien démarrer avec NestJS : Un tutoriel sympathique pour débutants

NestJS est un framework progressif pour Node.js destiné à construire des applications côté serveur efficaces et évolutives. Pensez-y comme à une version backend d'Angular—structurée, modulaire et puissante.

Si vous connaissez les bases de JavaScript ou TypeScript et que vous êtes à l'aise avec Node.js/Express, NestJS vous semblera être une amélioration bien organisée.

🧰 Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Node.js (v16 ou plus) : https://nodejs.org

  • npm ou yarn

  • Connaissances de base en JavaScript ou TypeScript

  • Familiarité avec les API REST et Express est un plus

📦 Étape 1 : Installer le CLI de Nest

Le CLI de Nest est le moyen le plus simple de générer un nouveau projet et des composants.

bashCopyEditnpm i -g @nestjs/cli

⚙️ Étape 2 : Créez votre premier projet

Générez un nouveau projet NestJS en utilisant le CLI :

bashCopyEditnest new my-first-nest-app

On vous demandera de choisir un gestionnaire de paquets — choisissez npm ou yarn.

Une fois l'installation terminée :

bashCopyEditcd my-first-nest-app
npm run start:dev

Ouvrez votre navigateur et visitez :
👉 http://localhost:3000

Vous devriez voir :
Hello World!

🏗️ Étape 3 : Comprendre la structure du projet

NestJS utilise modules, contrôleurs et services.

Voici la structure de base que vous verrez :

lessCopyEditsrc/
├── app.controller.ts      // Handles incoming HTTP requests
├── app.service.ts         // Contains business logic
├── app.module.ts          // Root module where everything is wired up
main.ts                    // Entry point

🧱 Étape 4 : Créez votre premier module

Disons que vous voulez créer une simple fonctionnalité cats.

bashCopyEditnest generate module cats

Cela crée cats/cats.module.ts.

🎮 Étape 5 : Créez un contrôleur et un service

bashCopyEditnest generate controller cats
nest generate service cats

Cela vous donne :

arduinoCopyEditsrc/cats/
├── cats.controller.ts
├── cats.service.ts
├── cats.module.ts

Mettez à jour cats.controller.ts pour qu'il ressemble à ceci :

tsCopyEditimport { Controller, Get } from '@nestjs/common';
import { CatsService } from './cats.service';

@Controller('cats')
export class CatsController {
  constructor(private catsService: CatsService) {}

  @Get()
  findAll() {
    return this.catsService.findAll();
  }
}

Mettez à jour cats.service.ts :

tsCopyEditimport { Injectable } from '@nestjs/common';

@Injectable()
export class CatsService {
  private readonly cats = [{ name: 'Whiskers', age: 2 }];

  findAll() {
    return this.cats;
  }
}

Maintenant, allez sur :
👉 http://localhost:3000/cats
Et vous obtiendrez une liste de chats !

Ajoutez une route POST

Dans cats.controller.ts :

tsCopyEditimport { Controller, Get, Post, Body } from '@nestjs/common';

@Controller('cats')
export class CatsController {
  constructor(private catsService: CatsService) {}

  @Get()
  findAll() {
    return this.catsService.findAll();
  }

  @Post()
  create(@Body() cat: { name: string; age: number }) {
    return this.catsService.create(cat);
  }
}

Dans cats.service.ts :

tsCopyEditcreate(cat: { name: string; age: number }) {
  this.cats.push(cat);
  return { message: 'Cat added', cat };
}

Utilisez Postman ou curl :

bashCopyEditcurl -X POST http://localhost:3000/cats \
-H "Content-Type: application/json" \
-d '{"name": "Tiger", "age": 3}'

Que faire ensuite ?

  • Explorez les DTOs et la validation avec @nestjs/class-validator

  • Connectez une base de données en utilisant @nestjs/typeorm ou @nestjs/mongoose

  • Utilisez des gardes, pipes et interceptors pour des cas avancés

  • Ajoutez une authentification avec Passport et JWT

Ressources

Récapitulatif

NestJS vous offre une panoplie complète d'outils pour écrire des APIs propres, testables et de niveau entreprise avec Node.js. Vous venez de construire votre première application NestJS avec un contrôleur, un service et une route personnalisés !

Poursuivez vos constructions à partir d'ici—NestJS est immense, mais convivial pour les débutants avec les bonnes étapes.



Commencer

main.ts (démarrage/moteur du point d'entrée)

app.module.ts = module principal/module racine : spécifie les imports, contrôleurs et fournisseurs (services)





Related posts

August 2, 2024

Écrire votre première API : le guide d’un jeune papa pour concevoir des API bébé

August 2, 2024

Écrire votre première API : le guide d’un jeune papa pour concevoir des API bébé

August 2, 2024

Écrire votre première API : le guide d’un jeune papa pour concevoir des API bébé

Got questions?

Je suis toujours enthousiaste à l'idée de collaborer sur des projets novateurs et intéressants.

Got questions?

Je suis toujours enthousiaste à l'idée de collaborer sur des projets novateurs et intéressants.

Got questions?

Je suis toujours enthousiaste à l'idée de collaborer sur des projets novateurs et intéressants.

©2024

©2024

©2024

Get Template for free

Create a free website with Framer, the website builder loved by startups, designers and agencies.