Passer au contenu

Vue d’ensemble

Le Nest CLI est un outil d’interface en ligne de commande qui vous aide à initialiser, développer et maintenir vos applications Nest. Il assiste de plusieurs manières, notamment en créant la structure du projet, en le servant en mode développement et en construisant et regroupant l’application pour une distribution en production. Il incarne les meilleures pratiques architecturales pour encourager des applications bien structurées.

Installation

Remarque: Dans ce guide, nous décrivons l’utilisation de npm pour installer des packages, y compris le Nest CLI. D’autres gestionnaires de packages peuvent être utilisés à votre discrétion. Avec npm, vous disposez de plusieurs options pour gérer la résolution des emplacements du fichier binaire nest dans votre ligne de commande OS. Ici, nous décrivons l’installation du binaire nest globalement en utilisant l’option -g. Cela apporte un certain confort et c’est l’approche que nous supposons tout au long de la documentation. Notez que l’installation de tout package npm globalement laisse la responsabilité de s’assurer qu’il exécute la version correcte à l’utilisateur. Cela signifie également que si vous avez différents projets, chacun exécutera la même version du CLI. Une alternative raisonnable consiste à utiliser le programme npx, intégré au CLI npm (ou des fonctionnalités similaires avec d’autres gestionnaires de paquets) pour s’assurer que vous exécutez une version gérée du Nest CLI. Nous vous recommandons de consulter la documentation npx et/ou votre équipe de support DevOps pour plus d’informations.

Installez le CLI globalement en utilisant la commande npm install -g (voir la Remarque ci-dessus pour plus de détails concernant les installations globales).

Commande d'installation du Nest CLI
$ npm install -g @nestjs/cli

Flux de travail de base

Une fois installé, vous pouvez invoquer des commandes CLI directement depuis votre ligne de commande OS via l’exécutable nest. Voir les commandes disponibles en entrant ce qui suit :

Commandes disponibles du Nest CLI
$ nest --help

Obtenez de l’aide sur une commande individuelle en utilisant la structure suivante. Remplacez n’importe quelle commande, comme new, add, etc., à la place de generate dans l’exemple ci-dessous pour obtenir une aide détaillée sur cette commande :

Obtenir de l'aide sur une commande spécifique
$ nest generate --help

Pour créer, construire et exécuter un nouveau projet Nest basique en mode développement, allez dans le dossier qui devrait être le parent de votre nouveau projet, et exécutez les commandes suivantes :

Créer un nouveau projet Nest
$ nest new my-nest-project
$ cd my-nest-project
$ npm run start:dev

Dans votre navigateur, ouvrez http://localhost:3000 pour voir la nouvelle application en cours d’exécution. L’application se recompilera automatiquement et se rechargera lorsque vous modifiez l’un des fichiers source.

Structure du projet

Lorsque vous exécutez nest new, Nest génère une structure d’application de base en créant un nouveau dossier et en peuplant un ensemble initial de fichiers. Vous pouvez continuer à travailler dans cette structure par défaut, en ajoutant de nouveaux composants, comme décrit tout au long de cette documentation. Nous faisons référence à la structure de projet générée par nest new comme le mode standard. Nest prend également en charge une structure alternative pour gérer plusieurs projets et bibliothèques appelée mode monorepo.

Outre quelques considérations spécifiques concernant le fonctionnement du processus de construction (essentiellement, le mode monorepo simplifie les complexités de construction qui peuvent parfois survenir dans des structures de projet de type monorepo), et le support intégré des bibliothèques, le reste des fonctionnalités de Nest et cette documentation s’appliquent également tant aux structures de projet en mode standard qu’en mode monorepo. En fait, vous pouvez facilement passer du mode standard au mode monorepo à tout moment dans le futur, vous pouvez donc différer cette décision en toute sécurité tant que vous apprenez encore à connaître Nest.

Vous pouvez utiliser soit le mode standard soit le mode monorepo pour gérer plusieurs projets. Voici un rapide résumé des différences :

CaractéristiquesMode StandardMode Monorepo
Projets multiplesStructure de système de fichiers séparéeStructure de système de fichiers unique
node_modules & package.jsonInstances séparéesPartagé à travers le monorepo
Compilateur par défauttscwebpack
Paramètres de compilateurSpécifiés séparémentValeurs par défaut du monorepo qui peuvent être remplacées par projet
Fichiers de configuration commeSpécifiés séparémentPartagés à travers le monorepo
nest build et nest startCibles par défaut automatiquement vers le (seul) projet dans le contexteCibles par défaut vers le projet par défaut dans le monorepo
BibliothèquesGérées manuellement, généralement via le packaging npmSupport intégré, y compris la gestion des chemins et le regroupement

Lisez les sections sur Workspaces et Bibliothèques pour des informations plus détaillées qui vous aideront à décider quel mode est le plus adapté pour vous.

Syntaxe des commandes CLI

Toutes les commandes nest suivent le même format :

Syntaxe des commandes CLI
nest commandOrAlias requiredArg [optionalArg] [options]

Par exemple :

Exemple de commande Nest
$ nest new my-nest-project --dry-run

Ici, new est le commandOrAlias. La commande new a un alias de n. my-nest-project est le requiredArg. Si un requiredArg n’est pas fourni sur la ligne de commande, nest invitera à le fournir. De plus, --dry-run a une forme abrégée équivalente -d. Gardez cela à l’esprit, la commande suivante est équivalente à la précédente :

Commande abrégée
$ nest n my-nest-project -d

La plupart des commandes et certaines options ont des alias. Essayez d’exécuter nest new --help pour voir ces options et alias, et pour confirmer votre compréhension des constructions ci-dessus.

Aperçu des commandes

Exécutez nest <command> --help pour l’une des commandes suivantes pour voir les options spécifiques à chaque commande.

Voir utilisation pour des descriptions détaillées pour chaque commande.

CommandeAliasDescription
newnScaffold un nouvel application en mode standard avec tous les fichiers de base nécessaires pour fonctionner.
generategGénère et/ou modifie des fichiers en fonction d’un schéma.
buildCompile une application ou un espace de travail dans un dossier de sortie.
startCompile et exécute une application (ou le projet par défaut dans un espace de travail).
addImporte une bibliothèque qui a été emballée comme une bibliothèque nest, en exécutant son schéma d’installation.
infoiAffiche des informations sur les packages nest installés et d’autres informations système utiles.

Exigences

Le Nest CLI nécessite un binaire Node.js construit avec le support de l’internationalisation (ICU), tel que les binaires officiels de la page projet Node.js. Si vous rencontrez des erreurs liées à l’ICU, vérifiez que votre binaire répond à cette exigence.

Vérifier le support de l'internationalisation
node -p process.versions.icu

Si la commande imprime undefined, votre binaire Node.js n’a pas de support pour l’internationalisation.