aspnet核心和angular2页面刷新问题

时间:2016-12-06 13:53:17

标签: asp.net angular

我有一个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:意外的标记<

感谢任何帮助。感谢

1 个答案:

答案 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错误更好。