Как угловая маршрутизация имеет приоритет над путями файлов на статическом сайте - PullRequest
0 голосов
/ 19 декабря 2018

Если я создаю статический сайт с файловой структурой:

-index.html
-blog/index.html

И я помещаю приложение Angular с маршрутизацией внутри blog/index.html, затем перехожу на маршрут example.com/blog/page/2, он идет на правильныйстраница блога в приложении Angular.В некотором смысле, он открывает /blog/index.html и обрабатывает /page/2 в приложении Angular.

Как?

Почему Apache (или Nginx) не имеет приоритета над этим, и попробуйтеоткрыть /blog/page/2/index.html, а не найти его, показать 404?

Я думаю, это довольно здорово, что это может работать так, но я не могу понять, насколько это технически возможно.

1 Ответ

0 голосов
/ 19 декабря 2018

apache или nginx или любой другой веб-сервер должен быть правильно и преднамеренно настроен для работы с угловым приложением.Существует множество руководств для различных конфигураций веб-сервера, но обычно вы настраиваете любую ошибку 404 для перенаправления на корневую страницу проекта index.html.В случае REAL 404, однако, ваше угловое приложение должно быть настроено для правильной обработки.

Это только для начальной загрузки страницы или обновления ТОЛЬКО.Как только приложение angular запущено и запущено, это спорный вопрос, потому что angular перехватывает и обрабатывает всю навигацию, чтобы он больше не попадал на ваш веб-сервер.Угловой маршрутизатор просто вызывает нужные ему файлы и использует API истории браузера для вставки элементов в историю веб-поиска для имитации обычной навигации.Они называются одностраничными приложениями, потому что на вашем веб-сервере когда-либо обслуживалась только одна страница, а все остальное - трюки / симуляции.

...