Начиная с Angular 6 это более возможно, но нужно решать такой вопрос достаточно аккуратно
все эти приложения/компоненты будут в одном и том же бандле.
Я бы каждому приложению дал бы свой bundle, и использовал ленивую загрузку
рендерим туда конкретный angular-компонент, если есть блок рендерим туда соответствующий компонент. Т.е. нужно еще и такие соответствия как-то описать.
boot.browser.ts
ищет несколько элементов, можно создать несколько таких штук и внедрить свою логику(какие элементы и т.д.)
При этом в Angular 6 ivy можно упростить этот код и обойтись исключительно компонентами, без модулей
будут переиспользоваться каке-то общие модули и проч (таким образом не надо внутри каждого отдельного приложения их дублировать
Это единственная проблема, если делать несколько бандлов, тут либо переходить на ES6 и его модули, либо делать 1 бандл для всего. Либо будет дублирование кода.