var http = require('http');javascript
http.createServer(function (request, response) {html
response.writeHead(200, {'Content-Type': 'text/plain'});java
response.end('Hello World\n');node
}).listen(8080);web
console.log('Server started');express
可是Node.js仅仅是启动了一个基于Http协议的服务器,而Web开发在其之上还须要不少库包支持,下面列举了基于Node基础上的七个小型Web框架:服务器
Express是一个轻量Web框架,可以创建大型或小型轻量的Web应用,与NodeJS Angular.js和MongoDB合称为Mean全栈开发工具,被如下网站应用:cookie
博客平台 'Ghost' 也是基于Express构建。架构
Express是Node.js用于Web应用的工具包,可以建立基于http的端口,处理cookie等,提供一切你可能须要创建本身的Web服务器的库包,主要有:app
Flatiron 是来自Nodejitsu支持的项目, 它为Node.js开发提供了不少好用资源和工具包,提供了依赖注入和反转控制等功能 还有流式控制等(大型文件上传),路由, 模板和校验等。
使用来自Nodejitsu同一标准构建的高质量高性能标准组件工具帮助你创建解耦的规模应用,也是一个全栈Web应用程序开发框架,它将不少工具封装结合在一块儿,使得构建基于流的应用开发更容易。
koa实际初始是由Express开发和维护的一个Web框架,一个Koa应用是一个包含一组中间件生成器,相似Ruby's Rack, Connect, 等等 – 是一种基于低层次中间件层次的高级“糖”语法,提升了互用性,鲁棒性,并使得编写中间件更愉快 。支持 content-negotiation, cache 刷新和代理支持。
total是一个建立Nodejs应用的现代小型web框架,主要为可扩展可伸缩的应用程序设计,包括支持WebSockets 的完美URL路由,
可以构建Node.js的REST API,它在纯粹构建REST API可能比Express更加吸引人。不像Express除了REST之外还有模板和渲染等其余功能,Restify的存在是为了让你打造"严格"的API服务,支持DTrace平台
专门为构建实时Web,因为已经将基础封装,SocketStream 可以解放你,让你关注构建你的社交或聊天应用,或多用户游戏,或者任何你须要实时流数据显示的应用,全部口味都能知足(e.g. Vanilla JS vs CoffeeScript, Stylus vs Less)
Sails是实时的MVC框架,可以更易于定制企业级别的Node.js应用. 它设计相似Ruby on Rails,可是支持更现代应用的需求:: 数据驱动data-driven APIs ,面向服务架构SOA,也特别适合构建实时聊天 多用户游戏。