Je génère généralement des classes avec le angular 2 cli avec la commande suivante:
ng g class todo
Comment puis-je dire à la CLI de générer les classes dans un dossier particulier, par exemple un dossier de modèles.
La documentation contient un exemple dans lequel ils génèrent un composant dans un dossier spécifique, mais l'option de classe n'a pas abouti.
J'ai essayé les options suivantes:
ng g class models/todo
ng g class ../models todo
ng g class models todo
Ils aboutissent soit à une erreur indiquant que le chemin est invalide, ce qui me fait penser que l'option est prise en charge mais que je ne le découvre pas ou, dans le cas de cette dernière, fusionne le nom du dossier souhaité avec le nom de la classe.
Les éléments générés pour le Angular CLI sont relatifs ...
si vous êtes dans le répertoire racine (ou dans le répertoire source), vous êtes perçu comme étant dans le répertoire de l'application ...
~/me/foo > ng g c bar
// ~/me/foo/src/app/bar/bar.component*
~/me/foo/src > ng g c bar
// ~/me/foo/src/app/bar/bar.component*
si vous êtes dans le répertoire de l'application ou plus bas dans la structure des dossiers, vous serez généré à l'endroit où vous vous trouvez ...
~/me/foo/src/app/feature > ng g c bar
// ~/me/foo/src/app/feature/bar/bar.component*
~/me/foo/src/app/feature > ng g c ../bar
// ~/me/foo/src/app/bar/bar.component*
Remarque: si vous essayez de générer dans un répertoire qui n'existe pas, cela entraînera une erreur ...
~/me/foo/src/app > ng g c a/b/c/d/e/f/g/bar
// Error
Pour créer un composant à exécuter dans le dossier models de votre projet, assurez-vous que vous vous trouvez dans le dossier racine du projet et tapez:
ng g c/models/todo
De même, si vous souhaitez spécifier le nom de fichier du module de déclaration, vous pouvez utiliser l'option -m.
Par exemple, si vous avez un module de modèles et souhaitez mettre à jour ce module pour déclarer le nouveau composant de la tâche à effectuer:
ng g c/modèles/modèle todo -m
Cordialement
ng generate component my-new-component
ng g component my-new-component # using the alias
les composants supportent la génération de chemin relatif
si dans le répertoire src/app/feature/
et tu cours
ng g component new-cmp
votre composant sera généré dans src/app/feature/new-cmp
mais si tu devais courir
ng g component ../newer-cmp
votre composant sera généré dans src/app/newer-cmp
ça marche aussi pour les cours
vérifier: Github angular-cli
ng g cl model/UserInfo
works fine in angular5
Pour générer une classe dans Angular4/5/6
Faites un clic droit sur le dossier dans lequel vous voulez créer la classe et sélectionnez le dossier ouvert dans le terminal
puis à l'intérieur du terminal utiliser
ng g class classname --type = model
ajoutant à Karthikeyan Karunanithi une réponse simple,
ng g i model/UserInfo
fonctionne très bien si vous vouliez une interface ...
https://github.com/angular/angular-cli#generating-components-directives-pipes-and-services
Génération de composants, Classes , Directives, Gardes, Interfaces, Enums, Pipes et Services, Modules , Bibliothèques
Vous pouvez utiliser la commande ng generate (ou simplement ng g) pour générer des artefacts Angular:
ng generate component my-new-component
ng g component my-new-component # using the alias
ng g component new-cmp
ng g component ./newer-cmp
ng g component feature/new-cmp
Vous pouvez trouver tous les plans possibles dans le tableau ci-dessous:
Scaffold Usage
Component ng g component my-new-component
Directive ng g directive my-new-directive
Pipe ng g pipe my-new-pipe
Service ng g service my-new-service
**Class ng g class my-new-class**
Guard ng g guard my-new-guard
Interface ng g interface my-new-interface
Enum ng g enum my-new-enum
Module ng g module my-module
angular-cli ajoutera automatiquement une référence aux composants, directives et tuyaux dans app.module.ts. Si vous devez ajouter cette référence à un autre module personnalisé, procédez comme suit:
ng g module new-module
pour créer un nouveau module
appel ng g component new-module/new-component
Cela devrait ajouter le nouveau composant, la nouvelle directive ou la nouvelle référence de canal au nouveau module que vous avez créé.