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).
$ 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 :
$ 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 :
$ 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 :
$ 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éristiques | Mode Standard | Mode Monorepo |
---|---|---|
Projets multiples | Structure de système de fichiers séparée | Structure de système de fichiers unique |
node_modules & package.json | Instances séparées | Partagé à travers le monorepo |
Compilateur par défaut | tsc | webpack |
Paramètres de compilateur | Spécifiés séparément | Valeurs par défaut du monorepo qui peuvent être remplacées par projet |
Fichiers de configuration comme | Spécifiés séparément | Partagés à travers le monorepo |
nest build et nest start | Cibles par défaut automatiquement vers le (seul) projet dans le contexte | Cibles par défaut vers le projet par défaut dans le monorepo |
Bibliothèques | Gérées manuellement, généralement via le packaging npm | Support 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 :
nest commandOrAlias requiredArg [optionalArg] [options]
Par exemple :
$ 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 :
$ 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.
Commande | Alias | Description |
---|---|---|
new | n | Scaffold un nouvel application en mode standard avec tous les fichiers de base nécessaires pour fonctionner. |
generate | g | Génère et/ou modifie des fichiers en fonction d’un schéma. |
build | Compile une application ou un espace de travail dans un dossier de sortie. | |
start | Compile et exécute une application (ou le projet par défaut dans un espace de travail). | |
add | Importe une bibliothèque qui a été emballée comme une bibliothèque nest, en exécutant son schéma d’installation. | |
info | i | Affiche 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.
node -p process.versions.icu
Si la commande imprime undefined
, votre binaire Node.js n’a pas de support pour l’internationalisation.