2016-01-10 5 views
8

Каковы плюсы и минусы использования:PathLocationStrategy против HashLocationStrategy в веб-приложениях

  1. PathLocationStrategy - по умолчанию "HTML 5 PushState" стиль.
  2. HashLocationStrategy - стиль «хэш-URL».

, например, с помощью HashLocationStrategy предотвратит возможность прокрутки к элементу по его #ID, но некоторые 3-плагинов сторонних требуют HashLocationStrategy или Hashbang#!, чтобы работать на сайтах ajax.

Я хотел бы знать, что больше всего подходит для webapp.

+0

Возможный дубликат [Угловой 2.0 роутер не работает при перезагрузке браузера] (http://stackoverflow.com/questions/31415052/angular-2-0-router-not-working-on-reloading-the-browser) –

+0

Тесное голосование (дубликат) было ошибкой, но вернуть его невозможно. –

ответ

3

Для меня основное отличие состоит в том, что для PathLocationStrategy требуется конфигурация на стороне сервера для всех путей, настроенных в @RouteConfig, для перенаправления на главную страницу HTML вашего приложения Angular2. В противном случае у вас будет 404 ошибки при попытке перезагрузить приложение в браузере или попытаться получить к нему доступ с использованием определенного URL-адреса.

Вот вопрос, который мог бы дать вам несколько советов по этому поводу:

Надеется, что это помогает вам, Тьерри

+0

Прошу прощения, но этот ответ просто отсутствует. В нем ничего не говорится о возможности создания дополнительной серверной рендеринга и кеширования (изоморфного рендеринга) и о том, сколько преимуществ это приносит. Вместо того, чтобы оценивать технологии, вы просто описываете решение проблемы, которая у вас была. – Phil

6

# может быть обработан только на клиенте, сервера просто игнорировать их. Это может вызвать проблемы с поисковыми системами (SEO), перенаправление может привести к избыточным перезагрузкам страниц. На этой странице https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling есть подробное объяснение, в то время как некоторые аргументы не применяются к приложениям с угловым выражением (например, не работает с отключенным JS).

«Недостаток» pushstate HTML5 заключается в том, что для этого требуется поддержка сервера, как описано Thierry.

 Смежные вопросы

  • Нет связанных вопросов^_^