Publié · en amélioration
Framework · Depuis 2017
NestJS est un framework TypeScript pour serveurs Node.js en modules avec injection de dépendances, qui s'appuie sur Express, le framework web minimaliste.
Express est le framework web le plus utilisé pour Node.js. Il fournit un petit noyau de routage et de middlewares et vous laisse la structure de l'application. NestJS, publié pour la première fois en 2017, est un framework serveur fondé sur TypeScript et les décorateurs, qui apporte modules, contrôleurs, providers et injection de dépendances. Nest confie le traitement HTTP à un adaptateur de plateforme, Express par défaut : une application Nest fonctionne donc en interne comme un serveur Express et peut utiliser directement ses middlewares.
Express convient aux petites API, aux prototypes et aux projets dont vous voulez concevoir vous-même la structure. NestJS révèle ses atouts quand le code et l'équipe grandissent : API REST et GraphQL maintenues sur la durée, microservices et serveurs temps réel. Les pipes valident les entrées, les guards contrôlent les autorisations, et le framework s'intègre naturellement aux tests basés sur Jest et aux ORM comme TypeORM et Prisma.
Une fois Node.js installé, Express ne demande que npm install express et quelques lignes de code. Pour NestJS, créez un projet avec la Nest CLI puis lisez la documentation officielle en commençant par First steps. Bien comprendre d'abord les requêtes, réponses et middlewares d'Express aide à voir ce que Nest ajoute par-dessus.
Découpez les fonctionnalités en modules et recevez les providers, comme les services, par le constructeur, ce qui réduit le couplage et facilite les tests.
Déclarez routes et entrées avec des décorateurs comme @Controller, @Get et @Body, et ajoutez la logique transversale avec pipes, guards et interceptors.
Express est la plateforme HTTP par défaut : son écosystème de middlewares fonctionne tel quel, et vous pouvez passer à Fastify si besoin.
Utilisé seul, Express offre un petit noyau de routage et de middlewares pour construire rapidement des serveurs à la structure de votre choix.
NestJS et Express fonctionnent sur Node.js. Installez la version LTS depuis nodejs.org et vérifiez que node et npm affichent leur version.
node --version && npm --versionInstallez l'outil officiel en ligne de commande qui crée les projets et génère le code. Pour Express seul, sautez cette étape et lancez npm install express dans le dossier du projet.
npm i -g @nestjs/cliCréez un nouveau projet et lancez le serveur de développement en mode watch. La CLI demande quel gestionnaire de paquets utiliser ; ensuite, l'application répond sur http://localhost:3000.
nest new hello-nest && cd hello-nest && npm run start:devUn projet créé avec nest new contient ce contrôleur. @Controller() enregistre la classe comme contrôleur, et @Get() associe les requêtes GET sur le chemin racine à la méthode getHello. AppService est injecté par le constructeur, tandis que src/main.ts crée l'application à partir d'AppModule et écoute sur le port 3000.
src/app.controller.ts
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
npm run start:devSix chapitres pour aller de l'installation aux notions essentielles de NestJS · Express.
Posez vos questions, partagez votre expérience et échangez vos avis sur NestJS · Express.
Aucune discussion pour l'instant. Lancez la première.
0 commentaire
Se connecter · Connectez-vous pour laisser un commentaire.
Soyez le premier à commenter.