Zadanie: Konfiguracja aplikacji
Domyślna konfiguracja Angulara, którą otrzymujemy po wygenerowaniu projektu za pomocą Angular CLI często jest przez nas dostosowywana. Przykładem może być zmiana:
Karmy
na
Jest
albo zmiana lintera na ESLint.
Gdy mamy tylko jeden projekt, jest to proste, jednak w przypadku kilku projektów staje się to czasochłonne. Każda zmiana ustawień w jednym projekcie, musi być odzwierciedlona we wszystkich pozostałych. Dzięki zorganizowaniu kodu w:
monorepo (z użyciem Nx)
, można utworzyć jedną konfigurację i współdzielić ją między wieloma projektami. Nowe projekty dodane do workspace będą automatycznie korzystały z już istniejącej konfiguracji.
Podczas tworzenia komponentów można także wybrać opcję utworzenia testów e2e z:
Cypress
Jest w aplikacjach angularowych będzie używany jako domyślny test runner.
Moim zdaniem, łatwiej jest rozpocząć projekt Angularowy z użyciem NX, niż z Angular CLI, ponieważ unikamy właśnie tych żmudnych i często trudnych zmian w konfiguracji. Domyślne ustawienia zawierają skonfigurowany Prettier, ESLint oraz Jest, co wydaje się wystarczające. Narzędzie ułatwia też integrację z narzędziem Storybook.
Gdy posiadamy już istniejący workspace Nx, można łatwo dodawać do niego kolejne aplikacje i biblioteki. Nx umożliwia także prostą migrację projektów które były do tej pory zarządzane osobno, do monorepo.