重新加载页面时,在 Angular 中的 url 中删除 # 后页面不会加载 6.

When reload page , page not load after remove # from url in Angular 6.

在我的 angular 6 应用程序中,我在 url 中获得了 #

之前

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

我有这样的更新。(删除第二个参数)

 RouterModule.forRoot(Approutes),

然后我也有更新 provider

 {
    provide: LocationStrategy,
    useClass: PathLocationStrategy
 },

第一次使用还好,但是当我重新加载页面时,就不行了。

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

PathLocationStrategy 需要在服务器端进行配置,以便将@RouteConfig 中配置的所有路径重定向到Angular 应用程序的主HTML 页面。

如果你想实现 PathLocationStrategy 方法,你可以通过

Angular Universal: server-side rendering

现在我也在用同样的东西

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

也和任何问题一样。它解决了我的问题。我不知道如何解决,但它解决了。当我找到解决问题的正确理由时,我将编辑我的答案。