我们使用角度7 +节点8.11.4,之前我们使用HashLocationStrategy
并且所有路由都有效,而如您所知,'#'将自动作为哈希标志添加到URL中,现在我们要删除'#',所以我使用PathLocationStrategy
代替哈希*。更改后,当我刷新页面时,我将获得404页面,并且在访问重定向页面时也会发生,这是我的问题。
我已经搜索并知道,更改为PathLocationStrategy
后,所有路由器都需要重定向到index.html(默认主页),而我不确定如何在节点环境中实现它(大多数是apache) ,nginx,tomcat)
请参阅下面的代码:
app.module.ts :
providers: [{ provide: LocationStrategy, useClass: PathLocationStrategy }, LookupPsmService, ComponentMapping,
{
provide: HTTP_INTERCEPTORS,
useClass: PsmHttpInterceptor,
multi: true
}, CookieService, AuthGuard],
bootstrap: [AppComponent]
})
export class AppModule {CKEditorModule}
index.html :
<base href="/">
AppRoutingModule :
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}
我的预期结果是删除URL中的“#”并可以在浏览器中刷新。
答案 0 :(得分:0)
尝试删除它以查看是否有效
{ provide: LocationStrategy, useClass: PathLocationStrategy }
我认为您不需要那个
使用express更新以处理nodejs中的404
app.get('*', function(req, res) ...