【问题标题】:MVC with AngularJS and node js带有 AngularJS 和节点 js 的 MVC
【发布时间】:2016-12-06 19:28:53
【问题描述】:

我一直想知道这种技术组合是否可行。我可以使用 MVC、EF 实现模块化 Web 应用程序,如果我想使用该技术来实现某种迷你 SPA,我可以使用 AngularJs。我想进一步扩展我的知识,我想知道是否可以使用 node.js 而不是 EF 进行关系数据库通信。我可以将 MVC 后端与 AngularJs 混合用于前端(与 MVC 混合),并将 node.js 用于数据库通信

【问题讨论】:

  • 当您说“MVC”时,您指的是 ASP.NET MVC 吗? “MVC”本身就是一种软件架构模式,而不是一种特定的技术。
  • 您的问题无处不在。 node.js 不是实体框架的替代品.....
  • 因此,您的建议在技术上是可行的,但非常不切实际。这将要求您的服务器运行服务器端框架的两个实例,并配置为侦听每个实例的不同端口,然后在两者之间同步数据/逻辑。 TLDR;不要这样做。
  • @lucas 是的,这是半正确的 - 从技术上讲,节点将替代 IIS,IIS 是运行 ASP.NET 的服务器,但任何用于处理 http 请求的服务器端代码,数据库在 node.js 上运行的调用等将替代 ASP.NET。同样,MVC 只是一种架构。
  • @lucas 至于 node.js 的 RDBMS,快速 google 搜索会得到一些常见的结果,但您也可以查看 npm 站点上的 rdbms 关键字。一些示例包括 MySQL、postgreSQL 等。链接在这里:npmjs.com/browse/keyword/rdbms -- 另见 MySQL 节点文章的链接:sitepoint.com/using-node-mysql-javascript-client

标签: angularjs node.js model-view-controller


【解决方案1】:

有可能吗?是的,从技术上讲,但这将是非常糟糕的做法。

ASP.NET 的 MVC 几乎可以在服务器端完成所有工作。这意味着视图是在服务器内构建并发送给用户的。控制器也是服务器端。

使用 AngularJS,这个范式被颠覆了。控制器和视图都是客户端。服务器一次向用户发送所有视图和控制器,然后从那时起只提供数据。这对于单页应用程序以及想要交换数据但不必不断发送新视图的站点非常有吸引力。 NodeJS 是用于服务器的流行架构,但任何服务器架构都可以与 Angular 一起正常工作。

这两种系统各有优缺点,但我没有合理的理由可以将它们一起使用。您当然可以使用 ASP.NET 作为 AngularJS 应用程序的服务器/模型,但我不鼓励您将 APT.NET MVC 与 Angular 一起使用。

【讨论】:

  • gotcha,这只是为了学习目的,不一定是为了实用。我开发应用程序结合了许多技术,我还没有接触 node.js,只是想知道它是否可能,所以我也可以开始研究它(结合我已经知道的技术)。谢谢
  • 我 100% 同意这里的一切,除了“我不鼓励你使用 Angular 的 ASP.NET MVC”。我们在生产环境中在 ASP.NET MVC 之上使用 Angular,它运行良好。您仍然可以利用 MVC 框架的优势,还可以利用 Angular 的强大功能。一个很好的例子是将模型或视图包数据传递给视图,然后将其注入到您的 Angular 控制器中。
  • @mhodges 很有趣!我可以看到它如何运作良好。
  • 是的,使用 AngularJS,您可以使用 ASP.NET MVC 实现迷你 SPA。
  • @LucasWatson Angular 和 Razor 也可以很好地协同工作,因为您可以使用 razor HTML 帮助器,例如,从 viewbag 数据构建下拉列表,然后也可以使用任何 ng-* 属性,并且它会从 Angular 方面做你需要的一切
猜你喜欢
  • 2016-08-26
  • 2019-04-01
  • 1970-01-01
  • 2014-10-22
  • 2018-02-22
  • 2023-04-05
  • 2018-12-26
  • 2018-03-01
  • 2017-08-08
相关资源
最近更新 更多