Angular 5 наборов маршрутов из API с Angular Universal - PullRequest
0 голосов
/ 26 апреля 2018

Я использую Angular Universal Starter для своего приложения и пытаюсь построить систему динамической маршрутизации из API.Я хотел бы настроить систему маршрутизации перед загрузкой приложения.Для этого я использовал APP_INITIALISER .Я пошел по другому пути, особенно по этому: Angular 5 Построить маршруты из данных API при запуске

Моя проблема возникла в моем файле app.module.ts:

export function initRoutes(routes: RouterService) {
    return () => routes.browse();
}

@NgModule({
    imports: [
        BrowserModule.withServerTransition({appId: 'universal'}),
        BrowserAnimationsModule,
        RouterModule.forRoot([]),
        TransferHttpCacheModule,
        HttpClientModule,
        InjectorModule,
        HomeModule,
    ],
    declarations: [
        AppComponent,
    ],
    entryComponents: [
        HomeComponent
    ],
    providers: [
        NetworkService,
        RouterService,
        {
            'provide': APP_INITIALIZER,
            'useFactory': initRoutes,
            'deps': [ RouterService ],
            'multi': true,
        },
        Title,
        MenuService
    ],
    bootstrap: [AppComponent]
})

Когда я импортирую TransferHttpCacheModule (перехватчик, который избегает дублирования запросов HttpClient на клиенте, для запросов, которые уже были сделаны, когда приложение было обработано на стороне сервера), я получаю следующую ошибку:

введите описание изображения здесь

Мой вопрос: возможно ли отправить JSON (со списком маршрутов) для настройки моей системы маршрутизации в приложении SSR?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете использовать массив следующим образом:

export const appRoutes: Routes = [
  {
    path: 'aRoute',
    component: NameComponent
  },
  ...
]

и в импорте NgModule добавьте это:

RouterModule.forRoot(appRoutes),

, тогда, если вы перейдете по пути aRoute, NameComponent будетбыть оказанным.

...