没有 MVC 的 AspNetCore 中的 Angular2 深度链接

Angular2 deep linking in AspNetCore without MVC

我正在尝试在 Angular 中实现深度链接 2. 我已经从我的客户端中完全删除了 MVC,因为我发现它提供给我的东西很少。但是,这样做意味着我不再使用 MVC 路由器。

有人可以告诉我如何在不使用 MVC 的情况下使 Angular 2 深度链接工作吗?

我的示例应用程序位于 https://github.com/tonywr71/Snazzle

您需要依赖 Angular 路由器。一般来说,您只需要为每个请求从您的服务器提供 index.html (或任何默认值)(或者您可以过滤 404 状态并仅在这种情况下发送 index.html )。 Angular 会完成剩下的工作。

要捕获 404 并在 asp.net 核心应用程序中重定向,您可以将其添加到 Startup.cs 文件中的 Configure 方法中:

app.Use(async (context, next) =>
{
    await next();
    if(context.Response.StatusCode == 404)
    {
        context.Request.Path = "/";
        await next();
    }
});