1. Home
  2. Docs
  3. Angular Schematics Tutorial
  4. 7. Workspace i Project

7. Workspace i Project

Zapewne zauważyłeś/aś, że korzystając z takich komend jak:

komponent automatycznie utworzy się w katalogu src/app.

Chcemy uzyskać identyczny efekt – musimy nauczyć nasz Schematic, gdzie ma domyślnie tworzyć pliki. W ramach jednego pliku angular.json możemy mieć wiele projektów, więc wskażmy o jaki chodzi dokładnie. Oczywiście możesz w linii komend wskazać projekt, ale będzie to niewygodne i nieintuicyjne.

Tak wygląda przykładowy angular.json:

Zatem w przypadku aplikacji o nazwie platform, chodzi nam o wyjęcie klucza platform, np. poprzez:

To jest właśnie nazwa projektu. Stwórzmy zatem funkcję pomocniczą, która da nam dostęp do projektu i przygotuje nazwę i ścieżkę pobraną od użytkownika:

Kod do utilsów znajdziesz tutaj (getWorkspace, getProject, parseName, buildDefaultPath):
https://github.com/angular/angular-cli/tree/master/packages/schematics/angular/utility

Kod przykładu:
https://github.com/tomasznastaly/angular-schematics-tutorial/pull/2/files


TIP:

Jeśli chcesz umożliwić przekazanie projektu jako opcję, np:

to wystarczy dodać odpowiednie pole do schema.json:

Kod:
https://github.com/tomasznastaly/angular-schematics-tutorial/pull/3/files