У меня очень простой проект со следующей маршрутизацией.
const routes: Routes = [
{ path: "start", component: StartComponent },
{ path: "sub01", component: Sub01Component },
{ path: "", redirectTo: "/start", pathMatch: "full" },
{ path: "**", component: StartComponent }
];
Когда я запускаю его локально, используя ng serve
и просматривая localhost: 4200 , я вижу содержимое начальной страницы и URL-адрес перезаписываются на localhost: 4200 / start , как и ожидалось. Затем я создал полуфинальную версию ng build и поместил в каталог dist на моем IIS. Переход по адресу приложения дает тот же результат, что и выше. Я также могу подтвердить, что просмотр, например, URL-адресов изображений также дает ожидаемый результат.
Разница, как я заметил, заключается в том, что локально он работает для перезагрузки страницы (т. Е. При переходе на localhost: 4200 / start ), в то время как та же операция на пульте дистанционного управления не работает, что дает мне 404 (поэтому серфинг на http://address.that-worked-just.now/start не работает). Поскольку я могу получить доступ к другим URL-адресам, кроме root, мне кажется, что только маршрутизация не работает.
Я немного ошеломлен таким поведением и не знаю, как его диагностировать дальше. Единственное различие, о котором я знаю, в пределах моей досягаемости, заключается в том, что локально я обслуживаю приложение, используя стандартный Angular CLI, а на удаленном компьютере у меня есть IIS, который обслуживает индекс. html содержащий скрипт . Итак, я полагаю, что как только документ передается клиенту, все остальное происходит на клиенте. (Приложение действительно ограничено, и в нем нет взаимодействия с сервером, служб и т. Д. c., Поскольку это в основном целевая страница, по крайней мере, на данный момент).
Мне не хватает чего-то, что должно быть объявлено в любом из файлов конфигурации? Или это может произойти из-за какой-то политики брандмауэра или чего-то подобного? Я не знаю, как это определить, и скорее предполагаю, что сделал что-то глупое, чем виню команду серверов. Что еще можно сделать из вышеприведенного описания?