Создание портала Angular 6 из нескольких репозиториев - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь создать портал Angular6, который включает 4-5 существующих панелей управления Angular6 на разных стадиях разработки (некоторые из них новые, некоторые уже находятся в разработке, но все находятся в активной разработке).

Я говорил с несколькими угловыми гуру. Некоторые предлагали использовать Nrwl NX (но это не сработает, поскольку я нахожусь в крупном банке, и у них нет монорэпо, и будет очень сложно убедить и потратить годы на переходный период).

Другие предложили iFrame, но сказали, что пытались, и это того не стоит (трудно с несколькими браузерами, не отвечает, ограничено общение между родителями, ограниченная маршрутизация).

Я видел, что подход CLI работает, но, поскольку все инструментальные панели находятся в активной разработке, я не могу поместить их код в портал, это слишком ограничительно. Кроме того, некоторые из них сегодня развернуты как автономные.
Есть ли способ сделать подпрограммы внешними по отношению к порталу (скажем, приложения одного уровня в одном репо)?

Могут ли помочь элементы? (Похоже, функция портала CDK не работает)

Другой вопрос: что если мне нужно передать некоторые параметры из портала на панель инструментов (скажем, отфильтровать результаты для отображения), как это можно сделать?

Пожалуйста, сообщите.

ТИА, Олег.

1 Ответ

1 голос
/ 30 марта 2019

Я могу думать об этих параметрах:

Вариант 1

Самый простой способ сделать это - иметь 1 дополнительное приложение Angular, которое действует как центральный концентратор для 5 панелей мониторинга.Это приложение будет иметь 5 ссылок на каждую из панелей.Это может быть сделано прозрачным для пользователя способом: они просто заметят, что переход из одного приложения в другое вызывает полное обновление страницы.

Например, на следующем рисунке можно увидеть *Ссылка 1007 * ведет на «Панель управления тегами», а ссылка Users - на «Панель управления пользователями».Пользователь заметил бы, откуда приходит HTML:

enter image description here

Вариант 2

Вы можете использовать решение из , котороессылка, которой вы поделились , в сочетании с Git Submodules .Подмодуль - это git-репо внутри git-репо, каждый из которых может быть изменен независимо.Таким образом, каждая команда может вносить обновления в свою собственную панель инструментов в своем собственном git-репо.Вы должны создать новое угловое приложение в новом git-репо и добавить другие репозитории в качестве подмодулей.Только когда вы захотите выпустить релиз всего приложения, вы перетащите их последнюю ветвь master в родительское хранилище и отпустите оттуда.

...