gpt4 book ai didi

asp.net - 使用 ASP .Net Core(非 mvc)的 Angular 2 路由

转载 作者:太空狗 更新时间:2023-10-29 19:36:34 26 4
gpt4 key购买 nike

我正在尝试使用 .net core 和 Angular 2 设置路由,但是路由没有解析,因为它们是由服务器解析的。

我看到的一个解决方案是注册一个默认路由到您的家庭 Controller 或其他东西......但我没有任何 MVC Controller 。

我已将此添加到我的主要组件(并完成所有其他路由器先决条件)

@RouteConfig([
{ path: '/', name: 'Table', component: TableComp, useAsDefault: true },
{ path: '/login', name: 'Login', component: LoginComp }
])

我在 startup.cs 中确实有这些:

在 ConfigureServices() 中

services.AddMvc();

在 Configure() 中

app.UseMvc();

但由于我实际上并没有使用任何 MVC Controller 或注册任何 MVC 路由,所以我不知道如何让我的 Angular 路由在浏览器而不是服务器中解析,以及为什么它们不是只是做这件事...

最佳答案

以下配置应该适合大多数在 .NET Core 中使用客户端路由的项目:

DefaultFilesOptions options = new DefaultFilesOptions();
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("index.html");

app.Use(async (context, next) =>
{
await next();

if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value))
{
context.Request.Path = "/index.html";
await next();
}
})
.UseCors("AllowAll")
.UseMvc()
.UseDefaultFiles(options)
.UseStaticFiles();

关于asp.net - 使用 ASP .Net Core(非 mvc)的 Angular 2 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38531904/

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