Wróć do strony głównej
Ostatnia aktualizacja:2 lip 2020

17. Integracja z zewnętrznymi Schematics

Załóżmy, że chcemy generować własny komponent z jakimś początkowym stanem, spełniającym nasze wymagania. Logika podpowiada, że nie ma sensu dublować całej logiki komendy „ng g component somePath/someName”, prawda?

W tym celu, nauczymy się jak robić kombinacje z istniejącymi Schematics!

Zaczynamy od nowego Schematic, który będzie odpowiadał za wygenerowanie komponentu z dyrektywą *ngFor w templatce:

Schema.json kopiujemy z Schematics dla komponentu:
https://github.com/angular/angular-cli/blob/master/packages/schematics/angular/component/schema.json

Idea jest taka – skorzystajmy ze @angular/schematics:component, ale podrzućmy naszą templatkę.

Rule factory:

Cała magia dzieje się w funkcji externalSchematics – tutaj podajemy nazwę kompletu schemactics, następnie nazwę konkretnego schematic i przekazujemy options.

Następnie mergujemy z naszą templatką. Korzystamy również z funkcji chain, która wykonuje konkatencję Rules – jako parametr przyjmuje tablicę Rule[]) i zwraca jeden Rule.
Kod:

https://github.com/tomasznastaly/angular-schematics-tutorial/pull/11/files17