问题 Web应用中的PathLocationStrategy与HashLocationStrategy


使用的利弊是什么:

  1. PathLocationStrategy - 默认的“HTML 5 pushState”样式。
  2. HashLocationStrategy - “哈希URL”样式。

例如,使用 HashLocationStrategy 将阻止通过其#ID滚动到元素的功能,但某些第三方插件需要 HashLocationStrategy 或者 Hashbang  #! 为了在ajax网站上工作。

我想知道哪一个提供更多的webapp。


10623
2018-01-10 08:01


起源

可能重复 Angular 2.0路由器无法重新加载浏览器 - Günter Zöchbauer
近距离投票(重复)是一个错误,但没有办法收回。 - Günter Zöchbauer


答案:


对我来说,主要区别在于 PathLocationStrategy 需要在服务器端配置所有配置的路径 @RouteConfig 要重定向到Angular2应用程序的主HTML页面。否则,在尝试在浏览器中重新加载应用程序或尝试使用特定URL访问它时,您将遇到404错误。

这是一个可以给你一些提示的问题:

希望它能帮到你, 蒂埃里


3
2018-01-10 08:42



我很抱歉,但这个答案完全忽略了这一点。它没有说明设置额外的服务器端渲染和缓存(同构渲染)的可能性以及它带来了多少好处。您只需描述您遇到的问题的解决方案,而不是评估技术。 - Phil


# 只能在客户端上处理,服务器只是忽略它们。这可能会导致搜索引擎(SEO)出现问题,重定向会导致冗余页面重新加载。 这一页 https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling 有一些详细的解释,而一些参数不适用于Angular应用程序(例如 - 禁用JS时不起作用)。

HTML5 pushstate的“缺点”是需要服务器支持,如Thierry所解释的那样。


8
2018-01-29 07:38