Динамическая загрузка компонентов через Module Federation#

Основной сценарий#

  1. Администратор АС инициирует процесс расширения функциональности Platform V View (PVV) путем подключения нового модульного компонента (микрофронтенда).

  2. Администратор размещает готовый микрофронтенд как отдельное приложение, доступное по HTTP(S), и регистрирует его в конфигурации PVV, указывая:

    • URL удаленного модуля (Remote Entry URL),

    • Имя модуля,

    • Версию (опционально),

    • Точки монтирования (например, путь в навигации).

  3. Platform V View (PVV), используя механизм Module Federation (в рамках Webpack), при загрузке интерфейса:

    • Загружает конфигурацию зарегистрированных удаленных модулей.

    • Динамически подключает указанный удаленный модуль по его URL.

    • Импортирует и монтирует запрошенные компоненты (например, новую панель, вкладку или виджет) в соответствующее место интерфейса.

  4. Пользователь открывает Platform V View (PVV) и видит в интерфейсе новый функциональный блок (например, в боковом меню или на дашборде).

  5. При взаимодействии с компонентом (например, переход по ссылке или открытие панели):

    • Platform V View (PVV) инициирует загрузку логики и стилей удаленного модуля (если еще не загружены).

    • Компонент отображается и функционирует как часть основного приложения.

    • Все взаимодействия (например, запросы к API, обработка событий) выполняются в рамках контекста PVV.

  6. Система обеспечивает:

    • Совместимость версий зависимостей (через настройки Module Federation: shared).

    • Изоляцию состояния компонентов (при необходимости).

    • Единый стиль и тему оформления (через передачу контекста стилей).

Исключительный сценарий#

Исключительный сценарий не предусмотрен

Альтернативный сценарий#

Альтернативных сценариев не предусмотрено.