2016-12-23 11 views
8

Pracuję z aplikacją Angular 2 opartą na szkielecie Angular-CLI, miałem nawyk strukturyzowania mojego folderu src za pomocą jednego katalogu według modułów i każdego komponentu związanego z tym modułem w tym samym folderze.Generowanie wewnętrznego folderu modułu

src 
    app 
     documents 
      document-list.component.ts 
      document-list.component.html 
      documents.component.ts 
      documents.component.html 
      document.module.ts 
     app.component.ts 
     app.module.ts 
    main.ts 

Teraz używam skośnych CLI, chciałbym wziąć zysk każdej z funkcji, ale kiedy jestem generując nowy składnik, bez względu na to, że utrzymanie tworząc nowy folder dla mojego składnika kiedy po prostu chcę umieścić go w powiązanym folderze.

src 
    app 
     documents 
      document-list 
       document-list.component.ts 
       document-list.component.html 
      documents.component.ts 
      documents.component.html 
      document.module.ts 
     app.component.ts 
     app.module.ts 
    main.ts 

Czy możliwe jest zachowanie mojej poprzedniej struktury, czy jest to zła praktyka? Wytyczne zalecają unikanie niepotrzebnej głębokości katalogu, więc jestem trochę zaniepokojony.

Odpowiedz

16

Zakładając, że znajdujesz się w katalogu głównym aplikacji i chcesz utworzyć komponenty wewnątrz src/app/documents, jak pokazano powyżej. Możesz użyć opcji --flat, aby utworzyć komponent bez tworzenia katalogu. Aby utworzyć komponent masz powyżej użyj polecenia:

ng generate component document-list --flat 
+0

Brak możliwości zdefiniowania go jako domyślnej opcji w moim 'kątowym-cli.json'? – Sakuto

+0

Nie teraz, ale można to dodać w przyszłości, jeśli jest to coś, co chcesz, zgłoś problem na repozytorium. – Brocco

10

Korzystanie kątową-CLI można uruchomić ng g component documents/document-list i będzie tworzyć strukturę, czego potrzeba, (zakładając, że aplikacja jest korzeniem aplikacji).

enter image description here

Nadzieja to pomaga.

+0

Pytanie dotyczy nieposiadania dodatkowego folderu "lista dokumentów", ale posiadającego pliki komponentów w folderze "dokumenty". – hogan

+0

Ale co jeśli struktura już istnieje i chcesz dodać nowy folder komponentu jako komponent zagnieżdżony. Czy robisz 'ng g/istniejący-komponenty-folder/folder nowego komponentu'? – AllJs

-1

Aby utworzyć komponent wewnątrz folderu, że albo już istnieją lub nie posiada taką samą nazwę jak komponentu bez tworzenia sub folder ...

ng generowania katalogów komponent/component-name --flat

na przykład ng generowania testowego składnika/test z wykazu --flat

Spowoduje to powstanie składowej w teście katalogów i nie utworzyć podkatalogu testowy szczegółowo ... enter image description here

+0

Dlaczego głosy na dół, testowałem to i działa i odnosi się do pierwotnego pytania .. Jak wspomniano tutaj "Pytanie dotyczy NIE posiadania dodatkowego folderu" lista dokumentów ", ale ma pliki komponentów w folderze" dokumenty " - Hogan Sep 17 '17 o 3:23 " –

Powiązane problemy