gpt4 book ai didi

javascript - 在 Angular 7 中使用 PathLocationStrategy 后刷新页面时获取 404

转载 作者:行者123 更新时间:2023-11-30 06:11:18 25 4
gpt4 key购买 nike

我们使用 angular 7 + node 8.11.4,之前我们使用 HashLocationStrategy 并且所有路由都有效,而如您所知,'#' 将作为哈希标志自动添加到 URL 中,现在我们想要删除“#”,所以我使用 PathLocationStrategy 而不是 Hash*。更改后,当我刷新页面时,我会得到 404 页面,并且在访问重定向页面时也会出现,这是我的问题。

我查了下知道改成PathLocationStrategy后,所有的router都需要重定向到index.html(默认主页),不知道在node环境下怎么实现(大多数是 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 中的“#”并可以在浏览器中刷新。

最佳答案

尝试删除它,看看它是否有效

{ provide: LocationStrategy, useClass: PathLocationStrategy }

我觉得你不需要那个

更新以使用 express 在 nodejs 中处理 404,你可以这样做

app.get('*', function(req, res) ...

关于javascript - 在 Angular 7 中使用 PathLocationStrategy 后刷新页面时获取 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58797739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com