Quel est le meilleur moyen pour supprimer un composant avec CLI
J'ai essayé d'utiliser "ng détruire composant foo" et il me dit "La détruire commande n'est pas pris en charge par Angulaires-CLI"
Comment supprimer correctement les composants Angulaire de la CLI?
Vous devez vous connecter pour publier un commentaire.
destroy
ou quelque chose de similaire peut venir à la CLI, mais il n'est pas une priorité en ce moment. De sorte que vous aurez besoin de le faire manuellement.Supprimer le répertoire composant (en supposant que vous n'utilisez
--flat
) et puis l'enlever de laNgModule
dans lequel elle est déclarée.Si vous ne savez pas quoi faire, je vous suggère d'avoir un "propre" app sens pas de courant
git
changements. Ensuite générer un composant et de voir ce qui est modifié dans le repo de sorte que vous pouvez revenir en arrière à partir de là que vous devrez faire pour supprimer un composant.Mise à jour
Si vous êtes juste à expérimenter sur ce que vous souhaitez générer, vous pouvez utiliser le
--dry-run
drapeau de ne pas produire tous les fichiers sur le disque, il suffit de voir les mises à jour de la liste de fichiers.Puisqu'il n'est pas encore pris en charge à l'aide angulaire de la CLI
voici donc la façon possible, avant que veuillez observer ce qui se passe lorsque vous créez un composant/service de l'aide de la CLI (ex.
ng g c demoComponent
).demoComponent
(ng g c demoComponent
).HTML,CSS,ts
et unspec
dossier consacré à demoComponent.donc le faire dans l'ordre inverse
app.module.ts
Actuellement Angulaire de la CLI n'est pas une option pour supprimer le composant, vous devrez le faire manuellement.
À l'aide de Code de Visual Studio, supprimer le composant de dossier et de voir dans l'Explorateur de Projet(à gauche) les fichiers que les couleurs Rouge, cela signifie que les fichiers sont affectés et produit des erreurs. Ouvrir chaque fichiers et de supprimer le code qui utilise le composant.
J'ai écrit un script bash qui devrait automatiser le processus écrit par Yakov Fain ci-dessous. Il peut être appelé comme ./removeComponent myComponentName Cela a seulement été testé avec Angulaire 6
Je ne suis pas sûr si c'est le meilleur moyen, mais il a travaillé pour moi.
Je viens de sauvé et actualisée de l'application et cela a fonctionné.
Réponse Angulaire 2+
Supprimer des composants
from imports and declaration array
de l'app.les modules.ts.Deuxième vérifier sa référence est ajoutée dans un autre module, si oui, puis le retirer et
enfin
delete that component Manually
à partir de l'app et vous avez terminé.Ou vous pouvez le faire dans l'ordre inverse aussi.
À partir de l'app.le module.ts:
Puis supprimez le dossier du composant que vous souhaitez supprimer et ses fichiers inclus (
.component.ts
,.component.html
,.component.css
et.component.spec.ts
).Fait.
-
J'ai lu les gens disent à propos de l'effacement de main.ts. Vous n'étiez pas censé importer à partir de là, en premier lieu, comme il est déjà importations AppModule, et AppModule est celui de l'importation de tous les composants que vous avez créé.
Tout d'abord, supprimer des composants dossier, vous devez le supprimer
et puis l'enlever ses entrées que vous avez fait dans le "ts" des fichiers.
Si vous cherchez de commande de la CLI, Puis sna est PAS pour l'instant.
Mais vous pouvez faire manuellement en supprimant la composante dossier et toutes les références.
aussi n'oubliez pas de:
- supprimer le composant du chemin d'accès du module de routage
- recherche de composant du nom de la classe dans l'ensemble du projet
J'avais besoin de supprimer Angulaire 6 de la directive, dont le fichier spec était erronée. Même après la suppression de la délinquance des fichiers, suppression de toutes les références et la reconstruction de l'application, TS était toujours la même erreur. Ce qui a fonctionné pour moi a été de redémarrer Visual Studio - ce effacé l'erreur et toutes les traces de l'ancien indésirables directive.