没有 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();
}
});
我正在尝试在 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();
}
});