一、node框架概述
1、MVC框架
类Sinatra框架
Express:目前最流行的Node.jsWeb开发框架。
Koa:Node.jsMVC框架的后起之秀,是由Express团队开发的。
Hapi:致力于完全分离Node.js的HTTP服务器、路由以及业务逻辑。
Flatiron:Node.js和浏览器的框架组件。
类Rails框架
Sails:可靠的、可伸缩的优秀框架,提供建立任何规模的Web应用所需要的所有功能。
Geddy:简单、结构化的Node.jsMVC开发框架。
2、RESTAPI框架
RESTAPI框架旨在为跨平台应用提供统一的数据模型。
视图渲染则由前端或客户端自行解决。
Restify:基于Node.js的REST应用框架,支持服务器端和客户端。
LoopBack:建立在Express基础上的企业级框架,只需编写少量代码就能创建动态端到端的RESTAPI,可以使Node.js应用程序方便地与各种设备通过API进行互联。
MVC框架等Web框架大都支持RESTAPI应用的开发。
3、全栈框架
全栈框架提供必需的应用开发基础库、完整的模版引擎、网络Socket以及持久化的库来对实时可扩展的网络和移动应用进行构建。
全栈框架是快速构建大型Web应用程序的利器。
Meteor:业界领先的全栈框架,是JavaScript框架的集大成者,拥有专业的开发团队支持。
Mean.IO:完全的JavaScript开发框架,旨在简化和加速开发基于MEAN栈的网络应用程序。
MEAN的含义与LAMP非常类似,代表的是MongoDB、Express、Angular和Node.js捆绑在一起的组合。
4、实时框架
实时框架是指那些支持WebSocket双向通信功能,能够在服务器和客户端实现实时通信的框架。
实时框架适合开发单页Web应用、多用户游戏、聊天客户端、网络应用、交易平台以及所有需要将数据从服务端实时推送到客户端的应用。
Socket.IO是使用最广泛的Node.js实时通信解决方案,许多框架都增加对它的支持来提供实时特性。
常用的实时框架
Meteor:业界领先的全栈框架,具有实时通信功能。
Mean.IO:完全的JavaScript开发框架,具有实时通信功能。
SocketStream:实时Web应用程序的框架,专注于客户端和服务端数据的快速同步,支持前后端数据的实时更新。
Derby:作为运行在Node.js、MongoDB和Redis基础上的全栈框架,拥有一个称为Racer的数据同步引擎。
5、如何选择框架
初学者要使用Node.js开发Web后端服务,可以考虑从Express开始;如果对JavaScript的Promise和async等异步编程比较熟悉,也可以考虑从Koa框架开始。
要开发内容管理站点,可以选择Meteor全栈框架。
企业应用开发首选Egg。Egg是阿里基于Node.js和Koa的企业级应用开发框架,特别适合国内用户。另外,Sails和Loopback也都适合开发企业应用。
开发实时Web应用程序推荐使用Meteor。
构建基于微服务架构的RESTAPI首选Hapi,也可以选择restify。对于大型的复杂应用程序,可考虑选用LoopBack。
二、Express框架基础
Express是一个简洁而灵活的Web应用程序开发框架,为Web和移动应用程序提供一系列强大的功能,可以用来快速地搭建一个功能完整的Web网站。
Express实质上是在Node.js内置的