До сих пор у нас было одно приложение angular 8. Но теперь нам нужно создать новое приложение администратора, пользовательский интерфейс которого будет аналогичен существующему приложению (аналогичный пользовательский интерфейс, как в аналогичном компоненте входа, боковой панели, панели навигации и т. Д.). Поскольку эти два приложения будут развернуты на двух разных серверах, но будут совместно использовать компоненты друг с другом, мы решили хранить два разных исходных кода в одном репозитории с общей библиотекой компонентов.
Наше существующее приложение создано с использованием Jhipster.
Следующие два подхода, которые я нашел, могут быть полезны для поддержки двух разных приложений.
Я прочитал статью на странице Создание библиотек для Angular. Однако я не смог найти материала о том, как изменить существующий процесс сборки для создания двух разных приложений? Во всех статьях, которые я читал, были команды Angular CLI для создания различных приложений. Поскольку у нас уже есть веб-пакет в качестве сборщика, как мне настроить его для сборки обоих моих приложений? По сути, все мои сомнения касались того, как расширить существующие инструменты, которые мы используем для создания, тестирования и поддержки этих двух разных приложений.
Затем я прочитал о шаблоне монорепо и наткнулся на Nx от nrwl.io. Насколько я понял, это оболочка поверх angular CLI для поддержки шаблона монорепозитория и поставляется со всеми инструментами, которые мне понадобятся для поддержки обоих приложений.
Итак, мой вопрос: стоит ли использовать шаблон монорепозитория, когда вам нужно только разделять код между двумя приложениями? Это связано с простотой разработки и временем, которое потребуется для преобразования существующего приложения для поддержки шаблона монорепозитория (настройка инструментов, как в Nx), который я прочитал, вызывает у меня головную боль.