我目前正处于启动新应用程序的开始过程中,对MVC和Angular很陌生。到目前为止,我已经使用 MVC 创建了一个自定义授权属性 asp.net 这使我能够使用 [Authorize] 标签。是否可以与AngularJS前端一起使用?
任何能为我指明正确方向的资源将不胜感激。
AngularJs 非常适合单页应用程序 (SPA)。因此,只需将前端层和后端层分开即可。使用 Angular 实现所有视图和前端内容。使用 ASP.NET WebAPI 公开前端(可能还有移动)应用的 REST API。
一些有用的链接:
角度布线模块
ASP.NET 使用AngularJs进行WebAPI持有者令牌授权
使用 AngularJs 在 SPA 中路由
答案是肯定的!因此,您仍然可以从 ASP.NET MVC功能(如身份验证和授权等)中受益,并且仍然可以在客户端上使用AngularJS。
我实际上有同样的问题,经过一些研究,我发现了以下内容。
的确,我们应该接受SPA(单页应用程序),但与此同时,我们不应该仅仅放弃成熟的服务器端框架,如MVC ASP.NET。您可以简单地拥有一个混合网络应用程序或迷你 SPA,我们也称之为它们。这些 Web 应用程序使用正常的 MVC 路由 ASP.NET 来显示视图,然后,一旦视图加载,您就可以将所有责任留给 AngularJS。米格尔·卡斯特罗(Miguel Castro)使用术语SPA筒仓。另外,您还可以从AngularJS的路由中受益。Miguel Castro还解释了如何结合使用它们来充分利用服务器和客户端。我真的建议看看他的演讲(下面的链接)。
这样,您仍然可以从 ASP.NET MVC的强大功能中受益,例如身份验证,授权等,但仍然可以让AngularJS运行您的视图。
我在以下位置得到了这个答案,您绝对应该查看:
- Miguel Castro:面向 ASP.NET MVC 开发人员的 AngularJS
- PluralSight - Cooper, Eames: AngularJS for .NET Developers
- StackOverflow:混合 Angular 和 ASP.NET MVC/Web api?
- StackOverflow:ASP.NET MVC和Angular JS临界点