MEAN堆栈组件如何组合在一起?

时间:2014-09-05 03:45:42

标签: node.js angularjs mongodb express mean

我确信它会很明显,但我要提前说我是网络开发的新手。我一直在学习Udacity,Coursera和Code Academy课程,以及阅读介绍性书籍,但我似乎无处可以很好地描述Web开发的所有不同技术组件如何组合在一起。我对MEAN堆栈感兴趣,并且我计划从第一个应用程序开始。我已经阅读了每个组件的几个描述,但它们看起来仍然非常抽象。我更习惯于在更多的物理领域工作,比如木工和机械,你可以看到一切如何融合在一起。我发现对这个大创意的扎实把握有助于学习细节。

任何人都可以很好地概述每个MEAN组件的功能,最好是愚蠢到新的水平吗?

或者更好的是,推荐一个可以提供此类概述的资源,然后详细介绍?

1 个答案:

答案 0 :(得分:3)

+--------------+    +------------+    +-----------+
|  Browser     |    |  Node.js   |    |  MongoDB  |
|              |    |            |    |           |
|  Angular.js  <----> Express.js <---->  Database |
|              |    |            |    |           |
+--------------+    +------------+    +-----------+
<-->: data paths
  • Node.js Node.js是基于V8 JavaScript引擎构建的JavaScript运行时(由Google为Google Chrome开发)和libuv异步I / O库(为节点)。这意味着您可以在服务器端运行JavaScript,类似于Ruby,Python或Perl。

  • Express.js Express是一个Node.js HTTP服务器框架,旨在为您提供立即开始使用的所有工具。它非常轻量级,特别是与Rails或Django等框架相比时。

  • Angular.js Angular.js是一个客户端(在浏览器中)框架,用于创建和显示动态网站和Web应用程序。它的功能与令人难以置信的流行jQuery有很大不同,因为你不鼓励直接使用HTML,而是制作一个视图(带有ng-标签的HTML)和一个控制器。

  • MongoDB MongoDB是NoSQL数据库服务器。如描述所示,Mongo不使用SQL,而是使用参数化查询。它的工作方式与您可能习惯使用的数据库服务器有所不同,如MySQL或Postgres。

这四个很好地协同工作。 MongoDB用于存储应用程序需要运行的数据,Angular是应用程序本身(在用户的浏览器中运行),Express用于为Angular应用程序提供服务以及Angular应用程序运行应用程序所需的资源,以及Node.js用于运行Express。

但实际上,“MEAN”基本上是一个流行语。选择适合工作的工具,而不是那些制作漂亮缩写的工具。