PathLocationStrategy vs HashLocationStrategy в веб-приложениях
каковы плюсы и минусы использования:
- PathLocationStrategy-стиль по умолчанию "HTML 5 pushState".
- HashLocationStrategy-стиль" хэш URL".
например, используя HashLocationStrategy предотвратит функцию прокрутки до элемента по его # ID, но некоторые сторонние плагины требуют HashLocationStrategy или Hashbang #! для работы в сайты ajax.
Я хотел бы знать, какой из них предлагает больше для веб-приложений.
2 ответов
для меня главное отличие в том, что PathLocationStrategy
требуется конфигурация на стороне сервера для всех путей, настроенных в @RouteConfig
для перенаправления на главную HTML-страницу приложения Angular2. В противном случае при попытке перезагрузить приложение в браузере или получить к нему доступ по определенному URL-адресу возникнет 404 ошибки.
вот вопрос, который может дать вам некоторые подсказки об этом:
надеюсь, это поможет вам, Тьерри!--3-->
#
может обрабатываться только на клиенте, серверы просто игнорируют их. Это может вызвать проблемы с поисковыми системами (SEO), перенаправления могут вызвать избыточные перезагрузки страницы.
Эта страница https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling имеет некоторое подробное объяснение, в то время как некоторые из аргументов не применяются для угловых приложений (например, - не работает с отключенным JS).
"недостатком" HTML5 pushstate является то, что требуется поддержка сервера, как объяснил Тьерри.