我有一个ASP.Net核心应用程序,仅用于Web API并具有Angular 2前端。当我添加路由到角度应用程序并导航到Angular中的某个路径时,它会导航,但是当我刷新页面时,我会看到找不到页面错误。 我在配置方法
中有以下内容import { Component, OnInit } from '@angular/core';
declare var Flickity;
@Component({
moduleId: module.id,
selector: 'my-app',
templateUrl: 'app.component.html'
})
export class AppComponent implements OnInit {
ngOnInit() {
console.log(Flickity);
}
}
我尝试添加重写规则,例如 Angular2 routing with Asp.net 4.5
当我这样做时,我遇到了客户端错误
未捕获的SyntaxError:意外的标记<
感谢任何帮助。感谢
答案 0 :(得分:2)
您的代码更像是一个丑陋的修复,而不是真正的管理。
您需要进行此操作,以便您的路由在服务器端进行管理,然后根据需要从客户端正确管理。
当我在我的ASP.NET / Angular2项目中使用MVC时,我这样做是为了使我的URL不会被API调用,而是使用FallBackRoute进行管理。
app.UseMvc(r =>
{
r.MapRoute(
name: "default",
template: "{controller}/{path?}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" }
);
r.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" }
);
});
这样,在刷新或手动URL加载时,我的index.cshtml将被加载并加载Angular2 Core,然后用路由器管理所需的路由。
这比看404错误更好。