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

回到顶部