Не удается настроить Angular маршрутизацию для корректной работы при обновлении - PullRequest
0 голосов
/ 27 февраля 2020

Итак, у меня есть довольно простая настройка ситуации маршрутизации, в которой я лениво загружаю модули:

const routes: Routes = [
  {
    path: '',
    loadChildren: './components/top-accounts/top-accounts.module#TopAccountsModule',
  },
  {
    path: 'tags',
    loadChildren: './components/tags/tags.module#TagsModule',
  },
  {
    path: ':accountId/details',
    loadChildren: './components/account-details/account-details.module#AccountDetailsModule',
  },
  { path: '**', redirectTo: '/' }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})

Однако, когда я обновляю sh страницу, моя маршрутизация портится и он пытается установить маршрут по умолчанию /, хотя URL-адрес говорит что-то вроде /tags или /accountId1/details, а затем он также выдаст мне ошибку при загрузке чанков, или страница станет пустой, без ошибок

Если я пытаюсь правильно перенаправить маршруты при загрузке страницы и показывать правильные URL-адреса, а не сообщать об ошибках при невозможности загрузки ленивых загруженных блоков модуля, нужно ли что-то простое сделать?

Я сейчас на Angular 7.2.0

1 Ответ

1 голос
/ 27 февраля 2020

Пожалуйста, попробуйте:

RouterModule.forRoot(routes, { useHash: true })

вместо этого:

imports: [RouterModule.forRoot(routes)]

, что:

{ path: '**', redirectTo: '/', pathMatch: 'full' }

вместо этого:

{ path: '**', redirectTo: '/' }

и посмотрите дополнительную информацию здесь:

Angular2 без га sh в URL и Требуется уточнение RouterModule.for Root ([ABOUT_ROUTE], {useHa sh: true})

...