Angular RouterModule — получение ошибки 404 при обновлении страницы с путем, определенным в маршрутах Статические веб-приложения Azure
Я создал дочерние компоненты для ленивой загрузки на основе щелчка меню навигации с путями «HTML». В app-routing.module.ts определены следующие маршруты:
const routes: Routes = [{
path: 'HTML',
loadChildren: () => import('./html/html.module').then(m => m.HTMLModule)
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
После создания и размещения папки «dist» в локальном IIS при переходе со страницы приветствия загружается дочерний компонент «http://localhost:8011/HTML». Но когда я обновляю или напрямую загружаю URL-адрес с маршрутом «HTML», он возвращает 404 Not Found.
Фрагмент ниже взят из html-routing.module.ts.
const routes: Routes = [{ path: '', component: HTMLComponent }];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class HTMLRoutingModule { }
Любой другой способ загрузить дочерний компонент при обновлении страницы.
Изменить: после установки URL Rewriter, в локальном IIS сайт загружается, как и ожидалось, после обновления с тем же дочерним компонентом. Но проблема снова возникла в Статических веб-приложениях Azure.
Если пример URL-адреса статического веб-приложения Azure — https://.azurestaticapps.net/HTML, первая загружаемая страница загружается должным образом. Но при обновлении возвращается ответ 404. Мне пришлось вручную удалить «HTML» из URL-адреса и начать со страницы приветствия.