Я решил провести рефакторинг нашего монолитного приложения. Я прочитал много статей о микро-интерфейсе и подходе моно репо. Решил объединить эти два архитектурных подхода и использовать оба.
У меня будет папка приложений со всеми под приложениями микро-интерфейса (отдельные проекты). Они будут собраны отдельно, после сборки они будут объединены в одно целое (для веб-компонентов);
Я много слышал, что не рекомендуется иметь общий доступ к коду, но я решил создать папку libs и поставить там все, что нужно для подпрограмм.
Так что, как только я закончу sh эту структуру папок с NX, я собираюсь создать свой собственный загрузчик или оркестратор. Все сборки будут загружены в виде веб-компонентов, поскольку они предоставляют множество преимуществ. Я вынужден написать свою собственную маршрутизацию, чтобы оркестратор мог загружать соответствующие веб-компоненты в соответствии с маршрутом.
Но есть одна большая проблема. Мне нужно общение между приложениями. например, если в приложении заголовка я нажимаю на имя пользователя, я хочу загрузить всплывающее окно в другое микро приложение. так что я хочу иметь такие связи, как Ngrx, Redux ... но они сохраняют свое текущее состояние в памяти, поэтому они доступны только внутри специфицированной c scope.
Есть ли у вас какие-либо идеи или опыт, как заставить библиотеки как ngrx и redux для работы на уровне браузера? Я хочу отправить событие, которое будет доступно в другом субприложении. Я нашел один подход, где избыточная работа на местном хранении. Есть другие идеи?