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,也特別適合構建實時聊天 多用戶遊戲。