Документированный способ заключается в использовании resetConfig(routes: Route[])
https://angular.io/api/router/Router#resetConfig
Что вы можете сделать, это сначала добавить { path: '**', component: LoadExternalRoutesComponent }
, и в этом компоненте вы можете использовать http-клиент для загрузкиAPI, а затем вызвать router.resetConfig()
Сложная часть будет получить angular и webpack (angular-cli) для создания всех модулей, и если вы используете ленивую загрузку, это может быть проблемой.
В файле angular.json есть функция lazyModules, которая заставляет angular и webpack создавать модули, даже если они не используются.
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
...
"lazyModules": [
"src/app/lazy/lazy.module"
]
}
...
Я нашел это руководство напредмет https://www.dzurico.com/angular-lazy-load-modules-with-cli/
Надеюсь, это укажет вам правильное направление