В моей компании у меня довольно сложная структура приложений. Мы используем NX Workspace для разработки 3 приложений с общими модулями для всех из них.
Структура нашего приложения выглядит примерно так: приложения -> приложение1 -> приложение2 -> приложение3.
libs -> модуль auth с компонентами и состоянием ngxs -> другие общие модули с компонентами и состоянием ngxs
Все наши библиотеки лениво загружаются в каждое приложение, которое в этом нуждается.
Итак, проблема, с которой я столкнулся, связана с плагином хранилища ngxs. Кажется, что его нужно импортировать в каждый модуль приложения, и если вы не укажете ключи, он сбрасывает каждое состояние в локальное или сеансовое хранилище (мы используем сеансовое хранилище). Меня бы это устроило, если бы не добавлялось еще и состояние маршрутизатора.
Кажется, что когда состояние маршрутизатора находится в хранилище сеанса, когда вы пытаетесь перейти на другую страницу, вручную вводя ссылку в строке URL-адреса, он перенаправляет вас обратно на предыдущую страницу, на которую был перемещен маршрутизатор.
Я искал вокруг, и все, кажется, просто предлагают вам не хранить маршрутизатор в хранилище сеансов. Если есть другой способ решения этой проблемы, ПОЖАЛУЙСТА, дайте мне знать!
Если решения проблемы с маршрутизатором не существует, тогда я перехожу к следующей проблеме / вопросу. Я хочу иметь возможность добавлять состояния в хранилище по отдельности, но я также хочу сохранить этот код с модулем, которому принадлежит состояние, вместо того, чтобы добавлять его в AppModule каждого приложения. У нас будет очень большое приложение, и необходимость отображать каждое состояние из всех наших библиотек в каждом из наших приложений будет утомительной.
Для плагина хранилища нет опции forFeature, но учитывалась ли она для таких сложных приложений, как мое?
Я могу поднять проблему в github по этому поводу, но хотел обратиться к сообществу, чтобы убедиться, что еще нет решения, которое мне не хватает.