Czy istnieje skrót do zmiany nazwy komponentu za pomocą Angular CLI, inny niż ręczna edycja wszystkich plików komponentów, takich jak nazwa folderu, .css, .ts, spec.ts i app.module.ts?
ng destroy
, że nie jesteś w szczęście ...
Czy istnieje skrót do zmiany nazwy komponentu za pomocą Angular CLI, inny niż ręczna edycja wszystkich plików komponentów, takich jak nazwa folderu, .css, .ts, spec.ts i app.module.ts?
ng destroy
, że nie jesteś w szczęście ...
Odpowiedzi:
Nie!
Nie ma polecenia, które zmieni nazwę wszystkich plików wygenerowanych za pomocą polecenia tworzenia komponentu. Tak stworzony ts
, html
, css/scss
, .spec.ts
pliki muszą być ręcznie przemianowany / edytowany.
Jestem częstym użytkownikiem angular cli
i myślę, że byłoby to przyjemne polecenie, ponieważ od jakiegoś czasu po prostu tworzymy komponenty kątowe i musimy zmienić ich nazwy. Ponieważ tego polecenia zmiany nazwy nie ma, usunięcie utworzonego komponentu kątowego, dyrektywy itp. I ponowne uruchomienie polecenia utworzenia komponentu jest naprawdę uciążliwe.
Oto link do dyskusji, aby dodać tę funkcję zmiany nazwy komponentu kątowego
WebStorm 2018.1.2
słowa pozwalają na zmianę nazwy komponentu, ale nigdy go nie używały. spróbuję później pewnego dnia
Obecnie interfejs wiersza polecenia Angular nie obsługuje funkcji zmiany nazwy ani refaktoryzacji kodu.
Możesz osiągnąć taką funkcjonalność za pomocą jakiegoś IDE.
Intellij, Eclipse, VSCode itp. Domyślnie obsługuje refaktoryzację.
Obecnie VSCode wykazuje pewien trend wzrostowy, osobiście jestem tego fanem
Refaktoryzacja za pomocą VSCode
Określenie odniesienia : - VS Code pomaga znaleźć wszystkie odwołania do zmiennej, wybierając zmienną i naciskając skrót SHIFT
+ F12
. Działa to niesamowicie dobrze z Type Script.
Zmiana nazwy wszystkich wystąpień odwołania : - Po znalezieniu wszystkich odniesień, które możesz nacisnąć F2
, otworzy się wyskakujące okienko, w którym możesz zmienić wartość i kliknąć wprowadź, spowoduje to zaktualizowanie wszystkich wystąpień odniesienia.
Zmiana nazwy plików i importu Za pomocą wtyczki można zmienić nazwę pliku i jego odniesienia do importu. Więcej szczegółów można znaleźć tutaj
Wykonując powyższe czynności, po zmianie nazw zmiennych i plików można uzyskać zmianę nazwy komponentu kątowego.
zobacz zmianę nazwy kątowej
zainstalować
npm install -g angular-rename
posługiwać się
$ ./angular-rename OldComponentName NewComponentName
Podczas gdy OP prosi o polecenie CLI, niektóre odpowiedzi koncentrują się na IDE. W tej odpowiedzi potwierdzam tylko, że obecny WebStorm / IntelliJ pozwala na zmianę nazwy komponentu. Wszystko, co należy zrobić, to próba zmiany nazwy klasy w .ts
pliku. Otrzymasz:
a zmiana nazwy zostanie przeprowadzona we wszystkich odpowiednich miejscach.
Jak wskazała pierwsza odpowiedź, obecnie nie ma możliwości zmiany nazw komponentów, więc wszyscy mówimy tylko o obejściach! Tym się właśnie zajmuję:
Utwórz nowy komponent, który Ci się podoba.
ng generuje komponent newName
Użyj edytora kodu Visual Studio lub dowolnego innego edytora, aby wygodnie przenosić kod / elementy obok siebie!
W Linuksie użyj grep & sed (znajdź i zamień), aby znaleźć / zamienić odniesienia.
grep -ir "stara nazwa"
cd swojego folderu
sed -i 's / oldName / newName / g' *
Osobiście nie znalazłem żadnego polecenia na to samo. Wystarczy złożyć nowy komponent (przemianowano nazwę) i skopiować wkleić wcześniejsze komponentu html
, css
oraz ts
. W ts
oczywisty sposób nazwa klasy zostanie zastąpiony. To najbezpieczniejsza metoda, ale zajmuje trochę czasu.