Есть ли способ вставить маршруты из API? - PullRequest
0 голосов
/ 29 января 2019

Я работаю над проектом, в котором у меня есть маршруты, которые должны исходить из моего API

Я пытался сделать Route.config.unshift, он на самом деле работал, но маршрут будет существовать только после того, как проект будетзагружен.

Мне нужно, чтобы он работал, когда пользователь вообще не заходил на мой сайт, мне нужно было вызвать мой API, прежде чем мое приложение добавит маршруты.

1 Ответ

0 голосов
/ 29 января 2019

Документированный способ заключается в использовании 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/

Надеюсь, это укажет вам правильное направление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...