PathLocationStrategy vs HashLocationStrategy в веб-приложениях

каковы плюсы и минусы использования:

  1. PathLocationStrategy-стиль по умолчанию "HTML 5 pushState".
  2. 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 является то, что требуется поддержка сервера, как объяснил Тьерри.