Хочемо нагадати, що Uspacy — це продукт, який побудований на відкритому API. А це значить, що розробники можуть створювати свої рішення для розширення стандартних можливостей продукту.
Як це зробити з використанням технології Module federation plugin?
Спершу потрібно сконфігурувати webpack та додати в plugins ModuleFederationPlugin:
name – назва застосунку;
filename – назва файлу, який буде підключатись в портал Uspacy для рендеру модулів застосунку;
shared – список пакетів для спільного використання, обʼязково додати в shared вказані на скріншоті та в шаблоні пакети як singletone;
exposes – список модулів які будуть доступні в застосунку.
Модуль повинен експортувати компонент за замовчуванням для рендеру модуля на порталі.
Налаштування плагіна потрібно розробляти аналогічного у вигляді компонента з назвою «settings» в exposes. Цей компонент буде відображатись на сторінці налаштувань плагіну в маркетплейсі.
Після цього потрібно викласти всі необхідні файли для роботи застосунку «в світ» і надати URL-адресу до remoteEntry.js, назву вашого застосунку, яку ви вказали в конфігурації ModuleFederationPlugin та вказати перелік модулів, які доступні в застосунку. Нариклад, https://your-domain.com/remoteEntry.js
🔍 Документація по ModuleFederationPlugin ➡️ ТУТ
❗️ При розробці на react версія повинна бути не нижче 18.0.0
Шаблон react застосунку ➡️ ТУТ
Приклад нашого реального застосунку з віджетом днів народження ➡️ ТУТ