Когда вы используете ng serve
для локального обслуживания приложения, оно имеет свою собственную конфигурацию сервера. Вы должны настроить свой сервер аналогичным образом, чтобы все маршруты указывали на index.html
. Маршрутизатор angular отслеживает URL-адрес браузера и изменяет представление приложения. Приложение angular представляет собой одностраничное приложение.
Извлеките https://angular.io/guide/deployment#routed -apps-must-fallback-to-index html для настройки конфигурации браузера, указывающей на индекс. html.
Кроме того, если у вас есть собственные API, использующие тот же домен, вам может понадобиться поместить эти пути в массив ресурсов из angular. json, чтобы angular приложение не рассматривает их как маршрут angular и рассматривает их как ресурсы (просто простой взлом!) Это необязательно, если вы используете сервер NodeJs, но для IIS это может быть хорошим взломом.
Например: если ваше angular приложение работает на http://www.example.com
, а ваши API-интерфейсы похожи на http://www.example.com/api/users
, http://www.example.com/api/user/52
, http://www.example.com/api/books
, et c, вы должны добавить 'api' в массиве активов в файле angular. json все, что после http://www.example.com/api/
будет считаться ресурсом, а не частью маршрута приложения angular.
При этом вы можете установить флаг useHa sh = false или удалите его. RouterModule.forRoot(routes)