Nest JS Flashcards
Quelles versions de JavaScript et Node.js sont compatibles avec NestJS ?
NestJS fonctionne avec TypeScript et JavaScript, et nécessite Node.js ≥ 20.
Quelle commande utiliser pour installer le CLI NestJS ?
npm i -g @nestjs/cli
Quelle commande utiliser pour créer un nouveau projet NestJS ?
nest new project-name
Comment créer une instance d’application NestJS ?
En utilisant la classe NestFactory et sa méthode create()
qui retourne un INestApplication
Comment désactiver l’arrêt automatique de l’application en cas d’erreur lors de la création ?
NestFactory.create(AppModule, { abortOnError: false })
Quels frameworks HTTP sont supportés nativement par NestJS ?
Express (par défaut) et Fastify
Comment accéder aux méthodes spécifiques à Express dans une application NestJS ?
Créer l’application avec NestFactory.create<NestExpressApplication>(AppModule)
Comment démarrer l’application NestJS en mode développement ?
npm run start
Comment accélérer le processus de développement avec SWC builder ?
Utiliser le flag -b swc
(accélération x20)
Quel est le rôle d’un contrôleur dans NestJS ?
Gérer les requêtes entrantes et envoyer des réponses au client
Quel décorateur utiliser pour définir un contrôleur ?
@Controller
Comment générer un contrôleur avec le CLI NestJS ?
nest g controller [name]
Quel est le code de statut HTTP par défaut pour une réponse GET ?
200
Quel est le code de statut HTTP par défaut pour une réponse POST ?
201
Comment modifier le code de statut HTTP par défaut ?
En utilisant le décorateur @HttpCode
Quelles sont les deux approches pour manipuler les réponses dans NestJS ?
L’approche standard (recommandée) et l’approche spécifique à la bibliothèque (express/fastify)
Que se passe-t-il si vous utilisez l’approche spécifique à la bibliothèque pour les réponses ?
L’approche standard est automatiquement désactivée
Comment utiliser les deux approches simultanément ?
En définissant passthrough
à true
: @Res({ passthrough: true })
Quels décorateurs peut-on utiliser pour accéder aux données de la requête ?
@Body
, @Query
, @Headers
, @Session
, @Params
, @Ip
, @HostParam
Quel décorateur permet de définir un point d’entrée qui gère toutes les méthodes HTTP ?
@All
Comment définir un routage par sous-domaine dans NestJS ?
En utilisant l’option host
dans le décorateur @Controller
: @Controller({ host: 'admin.example.com' })
Quel framework est recommandé pour le routage par sous-domaine ?
Express (Fastify ne prend pas en charge les routeurs imbriqués)
Pourquoi l’utilisation d’instances singleton est-elle sécurisée dans NestJS ?
Parce que Node.js n’utilise pas le modèle Multi-Threaded Stateless, mais traite les requêtes dans un même thread
Comment gérer des opérations asynchrones dans les contrôleurs NestJS ?
En utilisant des fonctions async
et en retournant des promesses