Zaczynam używać angular-cli i już dużo czytałem, aby znaleźć odpowiedź na temat tego, co chcę zrobić ... bez sukcesu, więc przyjechałem tutaj.
Czy istnieje sposób na utworzenie komponentu do nowego modułu?
na przykład: ng g module newModule
ng g component newComponent
(jak dodać ten komponent do newModule ??)
ponieważ domyślnym zachowaniem angular-cli jest umieszczanie wszystkich nowych komponentów w środku app.module
. Chciałbym wybrać, gdzie będzie mój komponent, aby móc tworzyć oddzielne moduły i nie mieć w sobie wszystkich moich komponentów app.module
. Czy można to zrobić za pomocą angular-cli, czy muszę to zrobić ręcznie?
źródło
ng g component moduleName/componentName
.--module
opcją taką jak:ng g component <your component> --module=<your module name>
źródło
--dry-run
na koniec, żeby zobaczyć, na co to wpłynie, jest to niezły test poczytalnościng g component path/to/myComponent --module=app.module.ts --dry-run
to bardzo przydatne polecenie; tylko po to, aby upewnić się, że komponent został utworzony w odpowiednim katalogu.Nie jestem pewien, czy może odpowiedź Aleksandra Ciesielskiego była poprawna w momencie pisania tego tekstu, ale mogę zweryfikować, że to już nie działa. Nie ma znaczenia, w którym katalogu w projekcie uruchomisz Angular CLI. Jeśli wpiszesz
wygeneruje komponent i zaimportuje go do pliku app.module.ts
Jedynym sposobem użycia interfejsu CLI do automatycznego zaimportowania go do innego modułu jest określenie
gdzie moduleName to moduł, który już zdefiniowałeś w projekcie. Jeśli module nazwa_modułu nie istnieje, umieści komponent w katalogu nazwa_modułu / newComponent, ale nadal będzie importować go do app.module
źródło
ng g module newModule
2.ng g component new-module/newComponent
Według niego powinien być nowy moduł zamiast newModulemkdir
folder, a następnie uruchomiłem komponent newComponent wewnątrz nowo utworzonego folderu.ng g component moduleName/newComponent -m moduleName
ng generate module {modComName}
1) Utworzono folder 2) Utworzono plik modułu w folderze o tej samej nazwie; polecenieng generate component {modComName}
faktycznie 1) Utworzono plik komponentu w folderze o tej samej nazwie 2) Zmodyfikowano moduł, aby zaimportować komponentng
dodaje importy na koniec tablicy; ale możesz chcieć: „Kolejność tras w konfiguracji ma znaczenie i jest to zgodne z projektem”.Nie znalazłem odpowiedzi, która pokazałaby, jak użyć cli do wygenerowania komponentu w folderze modułu najwyższego poziomu, a także że komponent automatycznie dodał kolekcję deklaracji modułu.
Aby utworzyć moduł, uruchom to:
Aby utworzyć komponent w folderze modułu foo i dodać go do kolekcji deklaracji foo.module.ts, uruchom to:
A CLI będzie szkieletować moduł i komponent w następujący sposób:
--EDIT nowa wersja kątowego CLI zachowuje się inaczej. Wersja 1.5.5 nie potrzebuje nazwy pliku modułu, więc powinno tak być w poleceniu w wersji 1.5.5
źródło
--module
argument; w dokumentach jest napisane „Zezwala na specyfikację modułu deklarującego”. ; Dodałbym, że--module
określa, który istniejący moduł należy zmodyfikować, aby zaimportować moduł, który zamierzasz utworzyćMożesz wypróbować poniższe polecenie, które opisuje,
Wtedy twoje polecenie będzie brzmiało:
źródło
W przypadku Angular v4 i nowszych po prostu użyj:
źródło
Specified module does not exist
gdy moduł istniałuser-settings.module.ts
i chcesz dodać komponent,public-info
polecenie będzie wyglądać następująco:ng g c PublicInfo -m user-settings
to działa dla mnie:
Jeśli chcesz wygenerować komponent bez jego katalogu użyj
--flat
flagi.źródło
wygeneruje to moduł o nazwie
media
insidemodules
folder.pierwsza część polecenia
ng g c modules/media/picPick
wygeneruje folder komponentów o nazwiepicPick
wewnątrzmodules/media
folderu, który zawiera nasz nowymedia
moduł.druga część sprawi, że nasz nowy
picPick
komponent zostanie zadeklarowany wmedia
module, importując go do pliku modułu i dodając dodeclarations
tablicy tego modułu.źródło
Przejdź na poziom modułu / możemy też być na poziomie głównym i wpisać poniższe polecenia
Przykład:
źródło
Najpierw wygeneruj moduł:
Spowoduje to utworzenie folderu moduleName, a następnie przejdź do folderu modułu
Następnie wygeneruj komponent:
Użyj --flat, aby nie tworzyć folderu podrzędnego w folderze modułu
źródło
Mam podobne problemy z wieloma modułami w aplikacji. Komponent można stworzyć do dowolnego modułu, dlatego przed utworzeniem komponentu musimy podać nazwę konkretnego modułu.
źródło
Użyj tego prostego polecenia:
users
: Nazwa Twojego modułu.userlist
: Nazwa twojego komponentu.źródło
Zgodnie z dokumentacją Angular, sposobem na stworzenie komponentu dla konkretnego modułu jest:
„nazwa katalogu” = miejsce, w którym CLI wygenerował moduł funkcji
Przykład: -
Spowoduje to wygenerowanie folderu dla nowego komponentu w folderze pulpitu klienta i zaktualizuje moduł funkcji za pomocą komponentu CustomerDashboardComponent
źródło
Pierwszy bieg
ng g module newModule
. Następnie uruchomićng g component newModule/newModule --flat
źródło
Stworzyłem moduł potomny oparty na komponentach z określonym folderem głównym
To polecenie CLI poniżej, które określiłem, sprawdź
Naprawa jest folderem głównym naszego modułu podrzędnego
źródło
Napotkałem ten problem dzisiaj podczas tworzenia szkieletu aplikacji Angular 9. Otrzymałem komunikat „moduł nie istnieje” za każdym razem, gdy dodałem
.module.ts
lub.module
do nazwy modułu. CLI potrzebuje tylko nazwy modułu bez rozszerzenia. Zakładając, że mam nazwę modułu:,brands.module.ts
polecenie, którego użyłem, tousuń
--dry-run
po potwierdzeniu, że struktura plików jest prawidłowa.źródło
Typowym wzorcem jest utworzenie elementu z trasą, leniwym ładowanym modułem i komponentem.
Trasa:
myapp.com/feature
app-routing.module.ts
Struktura plików:
To wszystko można zrobić w CLI za pomocą:
Albo krócej
Lub jeśli pominiesz nazwę, cli zapyta o to. Bardzo przydatne, gdy musisz stworzyć kilka funkcji
źródło
Dodaj komponent do aplikacji Angular 4 za pomocą Angular CLI
Aby dodać nowy komponent Angular 4 do aplikacji, użyj polecenia
ng g component componentName
. Po wykonaniu tego polecenia Angular CLI dodaje foldercomponent-name
podsrc\app
. Również odniesienia do tego samego sąsrc\app\app.module.ts
automatycznie dodawane do pliku.Komponent powinien mieć funkcję
@Component
dekoratora, po której następuje element,class
który należyexport
edytować. Funkcja@Component
dekoratora akceptuje metadane.Dodaj komponent do określonego folderu aplikacji Angular 4 przy użyciu interfejsu wiersza polecenia Angular
Aby dodać nowy komponent do określonego folderu, użyj polecenia
ng g component folderName/componentName
źródło
Jeśli masz wiele aplikacji zadeklarowanych w .angular-cli.json (np. W przypadku pracy z modułem funkcji)
Możesz :
-a oznacza --app (nazwa)
źródło
Używam tego konkretnego polecenia do generowania komponentów wewnątrz modułu.
To polecenie wygeneruje komponent lokalnie dla modułu. lub Najpierw możesz zmienić katalog, wpisując.
a następnie utwórz komponent.
Uwaga: kod zawarty w <> reprezentuje nazwy użytkownika.
źródło
1. - Jak zwykle utwórz moduł funkcji.
2.- Możesz określić ścieżkę ROOT swojego projektu w --module (tylko w --module, (/) wskazuje korzenie twojego PROJEKTU i NIE JEST KORZENIEM SYSTEMU !!! )
Prawdziwy przykład:
Wynik:
Testowane za pomocą Angular CLI: 9.1.4
źródło
przykład:
źródło
Stwórz moduł, usługę i komponent w konkretnym module
źródło