重新加载页面时,从Angular 6中的网址中删除#后无法加载页面。

时间:2018-08-22 13:07:06

标签: angular hash routing reload

在我的angular 6应用中,我的网址中有#

之前

 RouterModule.forRoot(Approutes, { useHash: true }),

我已经更新了(删除第二个参数)

 RouterModule.forRoot(Approutes),

然后我也更新了provider

 {
    provide: LocationStrategy,
    useClass: PathLocationStrategy
 },

第一次运行正常,但是当我重新加载页面时,它不起作用。

3 个答案:

答案 0 :(得分:0)

当使用PathLocationStrategy而不是HashLocationStrategy时,必须配置Web服务器,以将请求路由到Angular-Application的索引页。否则,浏览器将找不到该路径(因为该路径在网络服务器的文件系统中不存在...)

答案 1 :(得分:0)

PathLocationStrategy requires a configuration on the server side to all the paths configured in @RouteConfig to be redirected to the main HTML page of your Angular application.

If you want achieve PathLocationStrategy approach you can do it by

Angular Universal: server-side rendering

答案 2 :(得分:0)

现在我用过同一件事

RouterModule.forRoot(Approutes, { useHash: true }),

与任何问题一样。它解决了我的问题。我不知道如何解决。当我有适当的理由如何解决时,我将编辑我的答案。