(1)综述
MEAN是一个Javascript平台的现代Web开发框架总称,它是MongoDB + Express +AngularJS + NodeJS 四个框架的第一个字母组合。它与传统LAMP一样是一种全套开发工具的简称(如下图所示)。
(2)具体组成
MongoDB
MongoDB 是NoSQL的文档数据库,使用JSON风格来存储数据,甚至也是使用JS来进行sql查询。在mongoDB中我们可以直接存储JSON格式的数据,然后在ExpressJS和的NodeJS服务器编写一个基于JSON的查询,并无缝地传递JSON到AngularJS前端。
Express
Express是基于Node的Web开发框架,即是一个在Node平台下搭建Web应用的工具集。Express在以下几个方面有优势:
设置REST路由简单致极。
支持Jade或Mustache等模板引擎。
自动HTTP头处理。
支持Connect中间件,可以插入额外请求或响应处理。
提供辅助函数解析POST请求。
防范XSS。
优雅的错误处理。
Aagular
Aagular是JS的前端开发框架。最为核心的是特性是MVVM、模块化、自动化双向数据绑定、语义化标签和依赖注入。在MEAN架构中,前端的Angular并不是必须的,可将它替换成其他的前端框架,如Backbone、Ember或者Polymer。
Node
Node是基于V8的运行环境(JS语言开发),其用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。