带.NET内核的Angular 2

带.NET内核的Angular 2,.net,asp.net-mvc,angular,razor,asp.net-core,.net,Asp.net Mvc,Angular,Razor,Asp.net Core,我是一个初学者,希望有人能帮助我理解Angular 2在构建web应用程序时是如何与.net核心结合的 我刚刚读了Adam Freeman的Pro MVC Core书,他在书中使用实体框架构建了一个体育商店,并生成razor视图来显示所有信息。我现在正在努力学习Angular 2,以便更好地学习前端,而且似乎我使用MVC Core Razor所学到的一切现在都是浪费。这些技术的共同用途是什么?如果我使用Angular 2构建SPA,我可以使用从.net core构建的web api访问数据库吗?

我是一个初学者,希望有人能帮助我理解Angular 2在构建web应用程序时是如何与.net核心结合的


我刚刚读了Adam Freeman的Pro MVC Core书,他在书中使用实体框架构建了一个体育商店,并生成razor视图来显示所有信息。我现在正在努力学习Angular 2,以便更好地学习前端,而且似乎我使用MVC Core Razor所学到的一切现在都是浪费。这些技术的共同用途是什么?如果我使用Angular 2构建SPA,我可以使用从.net core构建的web api访问数据库吗?这是常见的用法吗?或者有没有一种方法可以使用实体构建.net核心应用程序,使用生成角度视图的普通控制器,而不是全部在visual studio中生成?我想它们不会是cshtml文件吧?请帮助我理解这一点


最后,我将.net代码用于Angular,如果我想在后端使用.net,我应该使用visual studio吗?谢谢。

合并这两种技术的常用方法是将.NET MVC应用程序用作后端API,然后将前端编写为API。SPA将使用后端进行数据库集成或任何服务器端业务逻辑

我不知道有什么有意义的方式将剃须刀视图与角度视图结合起来,但我可能错了

在任何情况下,你都可以看一看

此外,LinkedIn还提供了一种叫做“学习”的课程,内容涉及各种编程主题。有一门课程可能对你有所帮助

这两个网站都有1个月的免费试用期


类似的问题。

是的,ASP.NET Core和Angular2可以一起使用。体系结构可以如下所示:

  • 数据层-SQL Server。这是一个很好的(免费)开始的方式

  • 应用层-ASP.NET核心,可从SQL Server访问数据,并使用Web API公开RESTful API。可以找到一个教程。您可以使用对大多数公司免费的

  • 客户端应用程序-Angular2可用于构建客户端应用程序。描述了它的体系结构

  • Razor可用于动态生成初始视图(例如,一些固定的主布局,根据登录用户的不同而不同)

    Angular2有非常好的教程,也涉及最佳实践:

    • 基本特征
    • 更详细地解释事物是如何工作的
    • (用打字机打印)

    当你比较Angular和MVC/Razor时,你真正比较的是“客户端渲染”和“服务器端渲染”。在客户机/服务器应用程序中,两者都可以使用

    “cshtml”文件发送到服务器时,将变成一个html文件。其中的“cs”部分是服务器端渲染的代码。如果选择,也可以将其他渲染引擎与MVC一起使用

    服务器端渲染也是Angular社区的热门话题,在服务器上使用Angular本身进行渲染。但是ASP.NETMVC在这方面提供了很多。有一个庞大的.NET组件生态系统,您可以从中获取。有很多现有代码可以立即使用

    例如,在创建ASP.NET项目时,只需选中“身份验证”框,即可立即获得一组健壮的视图和控制器,用于处理常规、双因素和第三方身份验证

    当您询问web api时,您是在谈论ASP.NET的第二个主要部分。WebApi和MVC曾经是分离的技术,但最近已合并到同一个Microsoft代码库中。您可以从Angular2应用程序中直接调用ASP.NET WebApi。Angular的路由器将其识别为外部路由,并将请求发送到服务器


    就数据库访问而言,您可以从MVC控制器和服务器上处理的WebApi调用中使用它。

    JavaScript服务展示了如何使用良好的框架模板开始:

    在您的案例中,请查看,以了解他们如何构建Angular/.NET Core SPA

    您可以按如下方式克隆其存储库或使用其模板生成器:

    npm install -g yo generator-aspnetcore-spa
    cd some-empty-directory
    yo aspnetcore-spa
    dotnet run
    

    实际上,Angular/.NET核心由服务器端部分(.NET核心)和客户端部分(Angular)组成。对于那些不熟悉ASP.NET Core(不是您的情况)的人,我建议阅读以了解服务器端部分。

    “如果我使用Angular2构建SPA,我可以使用从.NET Core构建的web api访问数据库吗?”-是的…“这是常见用法吗?”-是的……Angular2 SPA应用程序和Razor应用程序之间的唯一区别在于前者没有视图。就这样,其他一切都一样。谢谢大家的回答。所以基本上我会有一个angular2应用程序,访问一个.net核心web api,它有一个(api)控制器,只处理数据,根本不呈现任何razor视图?这是最常见的方法。我不喜欢把剃须刀和剃须刀混合在一起,虽然这是可能的。我不认为有任何有意义的方式把剃须刀和剃须刀结合起来。Angular当然可以连接到任何后端api,.NETMVC是一个非常好的后端。您可以在服务器上运行Angular代码,并将生成的HTML发送到客户端,以提高首次请求时间和SEO优化。后续请求将通过在客户端上运行Angular来完成。斯科特·汉斯曼最近报道了这件事。所以我不会说没有什么有意义的方法。或者我自己使用MVC视图来提供SPA的“第一”页。@jdl134679我特别说Razor不是.NETMVC。你能以一种有意义的方式将MVC Razor视图绑定到MVC模型和Angular上吗?@Marko-不,我不这么认为。。。我的评论是为了表示同意you@jdl134679好吧,那我就不明白你的答案了。无论如何,我可能是错的,我是根据我的经验说话的。