Mamy architekturę, w której jedna duża aplikacja jest podzielona na wiele aplikacji Angular obsługiwanych przez różne zespoły z różnymi harmonogramami wdrażania. Te osobne aplikacje kątowe w kontekście ASP.NET są wdrażane na serwerze i uruchamiane jako jedna duża aplikacja. Każda aplikacja jest wdrażana w osobnej puli aplikacji i wszystkie mają ten sam układ i kod ramowy.Optymalizacja pakietów w rozproszonej architekturze oprogramowania
Każda aplikacja korzystałaby z pakietu zoptymalizowanego przy użyciu kompilatora AOT i modułu pakującego (pakiet zbiorczy lub pakiet webowy 2). Każda aplikacja będzie również używać scentralizowanego kodu Javascript, który musi być scentralizowany w dużej aplikacji (kod frameworku). Ten kod posłużyłby także komponentom Angular i zawierałby takie elementy, jak scentralizowany komponent układu, wiele usług kątowych, które nawiązywały połączenia internetowe, itp. Tak więc każda aplikacja korzystałaby z tego samego kodu ramowego.
Celem jest również to, że gdy wystąpi zmiana w tym kodzie ramowym, żadna pojedyncza aplikacja nie będzie musiała aktualizować i wdrażać ponownie.
Standardowo widzę, że używane są import es2015, a moduł pakujący interpretuje import i dodaje tylko niezbędny kod do modułu (drżenie drzewa). Głównie potrzebne są elementy architektury Angular, które są potrzebne w pakiecie (bez użycia CDN). Ale w tym przypadku istnieją 3 partie kodu realizacji:
- kątowe i inny kod sprzedawca
- Scentralizowane zamówienie Kod frameworking wykorzystywane przez wszystkie aplikacje również przy użyciu kątowe, a także zapewniając pakiet
- Aplikacja samo dostarczanie jednego pakietu:
Jak podzieliłbyś i zoptymalizowałeś pakiety?
- Zrób osobny pakiet z wszystkimi kątowe/sprzedawca rzeczy, że scentralizowane Kod frameworking i aplikacja muszą używać kątowa rzeczy byłyby wyłączone z głównej wiązki
- Użyj CDN podobną drogę do centralizacji rzeczy zwyczaj frameworking i przedstawieniu że wiązka (bez kodu kątowej w wiązce)
- Więc byś skończyć z czymś takim:
<script src="vendor-bundle.js"></script>
<script src="/central-location/frameworking-bundle.js"></script>
<script src="app-bundle.js">/script>;
Co jest najlepszym rozwiązaniem w tym konkretnym przypadku? Nie mogę znaleźć dobrych przykładów dla tego rodzaju konfiguracji architektury.
Zadajesz bardzo skomplikowane pytania, ale nowszy znak zapytania rozwiązany. Czy naprawdę nie otrzymujesz pomocy przynajmniej raz? – user394010
Właśnie napisałem to :) –
Mam na myśli inne pytania. Nie wiem, jakie to trudne. Ale napisali już dawno temu. – user394010