Angular 2从网址中删除哈希(#)
我正在尝试从Angular 2中的网址中删除#号,但找不到如何在不产生任何问题的情况下删除它的任何好的解释。
我记得在AngularJS 1上添加起来比较容易 $locationProvider.html5Mode(true);
如果您能告诉我这是否是一种好的做法(删除#)或可能会影响应用程序的SEO(或对其进行改进),我也将不胜感激。
PS:我正在将Angular 2与打字稿一起使用
回答:
正如@Volodymyr Bilyachat指出的那样,这PathLocationStrategy
是Angular2中的默认位置策略,并且如果#
url中存在,则一定是在某处被覆盖了。
在模块提供程序旁边,检查模块导入,也可以通过提供{ useHash: true }
作为第二个参数来覆盖它RouterModule.forRoot
:
imports: [ ...
RouterModule.forRoot(routes, { useHash: true }) // remove second argument
]
另请注意,在使用时,PathLocationStrategy
您需要配置Web服务器index.html
以为所有请求的位置提供服务(应用程序的入口点)。
以上是 Angular 2从网址中删除哈希(#) 的全部内容, 来源链接: utcz.com/qa/401014.html