2016-01-10 112 views
8

什麼是使用的利弊:PathLocationStrategy VS HashLocationStrategy在Web應用程序

  1. PathLocationStrategy - 默認的 「HTML 5 pushState的」 風格。
  2. HashLocationStrategy - 「哈希URL」樣式。

例如,使用HashLocationStrategy將防止滾動由其#ID元素的功能,但一些第三方插件需要HashLocationStrategyHashbang#!爲了在阿賈克斯網站工作。

我想知道哪一個提供更多的Web應用程序。

+0

可能重複的[Angular 2.0路由器不能在重新加載瀏覽器](http://stackoverflow.com/questions/31415052/angular-2-0-router-not-working-on-reloading-the-browser) –

+0

近距離投票(重複)是一個錯誤,但沒有辦法收回。 –

回答

3

對我來說,主要區別在於PathLocationStrategy需要在服務器端配置@RouteConfig中配置的所有路徑才能重定向到Angular2應用程序的主HTML頁面。否則,當您嘗試在瀏覽器中重新加載應用程序或嘗試使用特定URL訪問應用程序時,您會遇到一些404錯誤。

這裏是一個可以給你一些有關此提示的問題:

希望它可以幫助你, 蒂埃裏

+0

我很抱歉,但是這個答案完全沒有提到這一點。它沒有提到設置額外的服務器端渲染和緩存(同構渲染)的可能性以及它帶來的好處。而不是評估技術,只是描述瞭解決問題的方法。 – Phil

6

#只能在客戶端進行處理,服務器不理會他們。這可能會導致搜索引擎(SEO)的問題,重定向可能會導致多餘的頁面重新加載。 此頁面https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling有一些詳細的解釋,而一些參數不適用於Angular應用程序(例如 - 不適用於JS禁用)。

HTML5 pushstate的「缺點」是需要像Thierry所解釋的服務器支持。

相關問題