web-dev-qa-db-fra.com

Comment renommer un composant dans Angular CLI?

Existe-t-il un raccourci pour renommer un composant avec la CLI angulaire autre que l'édition manuelle de tous les fichiers du composant, tels que le nom du dossier, le fichier .css, le fichier .ts, le fichier spec.ts et le fichier app.module.ts? 

90
Thomas Easo

Non!

Aucune commande ne modifiera le nom de tous les fichiers générés à l'aide de la commande composant create. Donc créé ts, html, css/scss, .spec.ts les fichiers doivent être renommés/modifiés manuellement.

Je suis un utilisateur fréquent de angular cli et je pense que c’est une bonne idée de commander car, à un moment donné, nous créons des composants angulaires et devons le renommer. Comme cette commande de changement de nom n’existe pas, il est vraiment pénible de supprimer le composant angulaire créé, la directive, etc., puis de réexécuter la commande pour créer le composant. 

103
Aniruddha Das

Actuellement, Angular CLI ne prend pas en charge la fonctionnalité de changement de nom ou de refactoring du code.

Vous pouvez obtenir une telle fonctionnalité avec l’aide de certains IDE.

Intellij, Eclipse, VSCode, etc. supporte par défaut le refactoring.

De nos jours, VSCode montre une tendance haussière, personnellement, je suis un fan de cette

Refactoring avec VSCode

Détermination de référence: - VS Code vous aide à trouver toutes les références d'une variable en sélectionnant variable et en appuyant sur le raccourci SHIFT + F12. Cela fonctionne incroyablement bien avec Type Script.

Renommer toutes les instances de référence: - Après avoir trouvé toutes les références, vous pouvez appuyer sur F2 pour ouvrir une fenêtre contextuelle; vous pouvez modifier la valeur et cliquer sur entrer pour mettre à jour toutes les instances de référence.

Renommer des fichiers et des importations Vous pouvez renommer un fichier et ses références d'importation à l'aide d'un plug-in. Plus de détails peuvent être trouvés ici

enter image description here

Avec les étapes ci-dessus après avoir renommé les variables et les fichiers, vous pouvez obtenir le renommage du composant angulaire.

21
Samuel J Mathew

MISES À JOUR: Pour renommer vos composants, vous pouvez utiliser: ng-rn

npm i ng-rn

Utilisation

  cd /path/to/angular-project/
  ng-rn old-button fancy-button

L'outil recherche les composants dans src/app /. Si vos composants sont situés dans un chemin plus complexe tel que src/app/my-vip-components, changez simplement de répertoire:

  cd src/app/my-vip-components
  ng-rn old-button fancy-button

Avant toute modification, effectuez vos sauvegardes :)

2
Diego Venâncio

voir renommage angulaire

installer

npm install -g angular-rename

utilisation

$ ./angular-rename OldComponentName NewComponentName
0
Emrah Izci

Comme l'indiquait la première réponse, il n'existe actuellement aucun moyen de renommer des composants, nous ne parlons donc que de solutions de rechange!

  1. Créez le nouveau composant que vous avez aimé.

    ng générer le composant newName

  2. Utilisez l'éditeur de code Visual studio ou tout autre éditeur pour déplacer facilement le code/les éléments côte à côte!

  3. Sous Linux, utilisez grep & sed (rechercher et remplacer) pour rechercher/remplacer les références.

    grep -ir "ancien nom"

    cd votre dossier

    sed -i '/ ancienNom/nouveauNom/g' *

0
Salah-1

Personnellement, je n'ai trouvé aucune commande pour la même chose. Créez simplement un nouveau composant (nom renommé) et copiez-collez les composants html, css et ts du composant précédent. Dans ts évidemment, le nom de la classe serait remplacé. C'est la méthode la plus sûre mais prend un peu de temps.

0
Priyanka Arora