Я делаю доказательство концепции по следующим критериям:
Я сделал пример с использованием элементов Angular, расширяющих HTML.
Каждая команда angular выполняет развертывание, создавая файл JavaScript (team1.js, team2.js, team3.js), регистрируя его тег.
Пример:
<team1> </ team1> customElements.define("team1", ....);
<team2> </ team2> customElements.define("team2", ....);
<team3> </ team3> customElements.define("team3", ....);
Главное приложение Angular, в котором есть меню, импортирует файлы JavaScript (team1.js, team2.js, team3.js), и при нажатии на каждое меню тег динамически создается внутри основного div.
menu team1 >> this.renderer.createElement ("team1")
menu team2 >> this.renderer.createElement ("team2")
menu team3 >> this.renderer.createElement ("team3")
Если какой-либо группе требуется доступ к веб-сервису, например, для заполнения таблицы, таблица будет отображаться раньше.
Поэтому я делаю запрос в веб-сервисе, а затем динамически создаю тег таблицы и передаю параметр в Popular.
В проекте Angular он нормально работает без этой необходимости. Но с элементами Angular я получил именно это:
this.data = data returned from webservice
const element = this.renderer.createElement ("component-table");
this.renderer.setProperty (element, "data", this.data);
Все это работает, но мне сложно работать с createElement.
Я мог бы сделать этот запрос веб-сервиса в основном проекте и пройти через параметр:
<team1 data = "data"> </ team1>
При этом все запросы к веб-сервису будут в основном проекте, и всем командам придется кодировать в этом проекте.





Задача заключалась в создании отдельных приложений пользовательского интерфейса, которые можно было бы разрабатывать и развертывать независимо друг от друга, но при этом их можно было бы объединить в единое целое для развертывания. Вот как мы это сделали.
Вам понадобится установленный Angular CLI, создайте рабочее пространство Angular:
ng new my-app --routing
затем запустите его:
cd my-app
ng serve -o
Создайте свои вспомогательные приложения
Функциональность нескольких приложений теперь встроена непосредственно в интерфейс командной строки Angular, поэтому в этом посте мы сосредоточимся на этом. Вместо использования ng new для создания рабочего пространства мы хотим использовать ng generate application. Это создаст новое приложение, расположенное рядом с приложением по умолчанию:
ng generate application app1 --routing
ng generate application app2 --routing
Вероятно, это похоже на то, что вы ожидаете от проекта Angular:
В каталог проектов входят:
app1: исходный код для вашего первого настраиваемого дополнительного приложения.
Чтобы запустить одно из вспомогательных приложений, вы просто используете аргумент проекта для ng serve, например:
ng serve –-project app1
вся статья здесь
Вы видели это: nrwl.io/nx/guide-nx-workspace Они проделали большую работу в этой области и имеют полностью продуманное решение с использованием библиотек Angular.