CentOS搭建meanjs环境(一)

mean简介

mean是一个以Javascript为基础的web全栈开发解决方案,mongodb为数据库,express为服务端框架,angularjs作为客户端框架,nodejs作为服务器运行环境,mean刚好就是四大组件的首字母拼合而成。

就跟LAMP、JAVAWEB一样,mean是一套完整的web开发解决方案,它潜力无限,有可能就是未来开发界的大趋势。对于公司来说:养一个全栈工程师,比养一个前端工程师+一个后端工程师相对成本会降低不少;对于个人来说:干的活的类型可能相对多一点,但省去一部分交流的麻烦,工作会更顺心。

mean四大组件简介

  • mongoDB

    1. nosql,最流行的非关系型数据库之一
    2. 类似JSON的结构, 属于文档型数据库
    3. 数据库数据读取简单,速度快
    4. 扩展性好,可以用在规模庞大的运行环境中
    5. 对于大数据量、高并发、弱事务的互联网应用,MongoDB则是一个如瑞士军刀般的利剑。
  • express

    1. 基于nodejs的轻量级web应用框架
    2. 封装了nodejs的http模块
    3. 简单易用
  • angularjs

    1. 前端mvvm框架,学会之后可以享受急速的开发快感(针对大部分是CURD业务的系统)
    2. 双向绑定(1.5开始同时支持单向绑定)
    3. 来自Google,稳定性和支持没问题
  • nodejs

    1. 服务器Javascript运行平台,基于Chrome V8引擎
    2. I/O非阻塞,高并发尽管来吧
    3. 事件驱动,异步编程
    4. NPM包管理,造的好轮子大家一起用

mean框架的优缺点

优点:

  1. 一种语言(即Javascript)编写前后端逻辑,相同的语法和规范
  2. 扩展性好
  3. 项目结构清晰,容易上手
  4. 社区活跃
  5. 公司前后端开发交流无障碍,快速而便捷

缺点:

  1. mongoDB的缺点
    • 不支持事务
    • 没有熟悉的join(在设计表的时候得考虑多一点了)
    • 相对mysql这样成熟的数据库来说,资料相对较少
  2. nodejs缺点:
    • 不适合大量运算型的任务,适合高并发任务
    • 新手编程会遇到的坑比较多

当然,每个框架各有千秋,扬长避短才是正事

目前两大mean实践方案

MEAN.JS:https://github.com/meanjs/mean

MEAN.IO:https://github.com/linnovate/mean

MEAN.IO VS MEAN.JS

  • 出自同一个开发组之手,各种理念原因分道扬镳。
  • 本质上是一样的:MongoDB+Express+AngularJS+Node.js
  • 共同技术:jQuery, Bootstrap, swig, mongoose, passport, karma和mocha, nodemon, bower
  • 项目新建的方式不同:MEAN.IO使用内置命令行工具mean;MEAN.JS使用Yeoman
  • 模块组织方式不同:MEAN.IO使用了node包管理方式,MEAN.JS使用的是前端模块管理方式
  • 项目构建的方式不同:MEAN.IO使用gulp,MEAN.JS使用了grunt和gulp
  • 文档:MEAN.js更开放,文档更完善一些

最后,我选取的是MEAN.JS,萝卜青菜各有所爱。我只是更懒一点,哪个文档多我选哪个,哈哈。

介绍的差不多啦,接下来开始搭建:连接地址


快速连接:

CentOS搭建meanjs环境(一)
CentOS搭建meanjs环境(二)