NodeJS也就是Node,是众所周知的使用javascript构建Web应用框架,它启动一个服务器非常简单,如下:

var http = require('http');

http.createServer(function (request, response) {

response.writeHead(200, {'Content-Type': 'text/plain'});

response.end('Hello World\n');

}).listen(8080);

console.log('Server started');

但是Node.js仅仅是启动了一个基于Http协议的服务器,而Web开发在其之上还需要很多库包支持,下面列举了基于Node基础上的七个小型Web框架:

Express

Express是一个轻量Web框架,能够建立大型或小型轻量的Web应用,与NodeJS Angular.js和MongoDB合称为Mean全栈开发工具,被以下网站应用:

  • MySpace
  • Storify
  • Countly

博客平台 'Ghost' 也是基于Express构建。

Express是Node.js用于Web应用的工具包,能够创建基于http的端口,处理cookie等,提供一切你可能需要建立自己的Web服务器的库包,主要有:

  1. 1. 简单的REST路由:如app.get(/account/:id, function(req, res){ /* req.params('id') is available */ });
  2. 通过Jade的简单模板化
  3. 自动化的http处理。
  4. 支持异步处理请求响应的中间件。
  5. 分析POST请求体
  6. 防止XSS攻击
  7. 错误处理

Flatiron

Flatiron 是来自Nodejitsu支持的项目, 它为Node.js开发提供了很多好用资源和工具包,提供了依赖注入和反转控制等功能 还有流式控制等(大型文件上传),路由, 模板和校验等。

使用来自Nodejitsu同一标准构建的高质量高性能标准组件工具帮助你建立解耦的规模应用,也是一个全栈Web应用程序开发框架,它将很多工具封装结合在一起,使得构建基于流的应用开发更容易。

Koa

koa实际初始是由Express开发和维护的一个Web框架,一个Koa应用是一个包含一组中间件生成器,类似Ruby's Rack, Connect, 等等 – 是一种基于低层次中间件层次的高级“糖”语法,提高了互用性,鲁棒性,并使得编写中间件更愉快 。支持 content-negotiation, cache 刷新和代理支持。

total.js

total是一个创建Nodejs应用的现代小型web框架,主要为可扩展可伸缩的应用程序设计,包括支持WebSockets 的完美URL路由,

restify

能够构建Node.js的REST API,它在纯粹构建REST API可能比Express更加吸引人。不像Express除了REST以外还有模板和渲染等其他功能,Restify的存在是为了让你打造"严格"的API服务,支持DTrace平台

SocketStream

专门为构建实时Web,由于已经将基础封装,SocketStream 能够解放你,让你关注构建你的社交或聊天应用,或多用户游戏,或者任何你需要实时流数据显示的应用,所有口味都能满足(e.g. Vanilla JS vs CoffeeScript, Stylus vs Less)

Sails.js

Sails是实时的MVC框架,能够更易于定制企业级别的Node.js应用. 它设计类似Ruby on Rails,但是支持更现代应用的需求:: 数据驱动data-driven APIs ,面向服务架构SOA,也特别适合构建实时聊天 多用户游戏。

原文地址:http://www.jdon.com/idea/nodejs/node-js-web-frameworks.html

7个Node.js的Web框架的更多相关文章

  1. koa : Express出品的下一代基于Node.js的web框架

    https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966a ...

  2. Express 4.x Node.js的Web框架

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3821150.html ...

  3. 搭建Node.js的Web框架egg.js

    1 egg.js的Request处理流程: 2. 使用nodejs下载egg.js框架 (1)现在nodejs中全局安装egg-init 即在nodejs安装根目录下执行  : d:cd nodejs ...

  4. Express 4.x Node.js的Web框架----《转载》

    本文使用node.js v0.10.28 + express 4.2.0 1 Express概述 Express 是一个简洁而灵活的node.js的MVC Web应用框架,提供一系列强大特性创建各种W ...

  5. [Node.js]Express web框架

    摘要 Express是一个简洁灵活的node.js web应用框架,提供了一系列强大特性帮助你创建各种web应用和丰富的http工具.使用express可以快速创建一个完整功能的网站. Express ...

  6. 基于node.js的web框架express

    1.安装node.js方法: window :https://nodejs.org/en/ linux:http://www.runoob.com/nodejs/nodejs-install-setu ...

  7. node.js之web开发 koa入门

    用Node.js开发Web服务器端,有几个显著的优势: 速度快,非常快!这得益于Node.js天生是异步的. 常见的Web框架包括:Express,Sails.js,koa,Meteor,DerbyJ ...

  8. Hexo - 快速,轻量,强大的 Node.js 博客框架

    Hexo 是一个快速,轻量,强大的 Node.js 博客框架.带给你难以置信的编译速度,瞬间生成静态文件:支持 Markdown,甚至可以在 Hexo 中集合 Octopress 插件:只需要一个命令 ...

  9. 快速使用node.js进行web开发

    首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这 ...

随机推荐

  1. SwaggerUI用户手册

    SwaggerUI是一个非常好用的API文档工具,最关键的是他还能在工具内调试API,简直爽的不要不要的~网上针对开发者的文档非常多,但是给用户的手册却非常少.所以我来简单写个用户手册,供没有使用过s ...

  2. Project Euler:Problem 86 Cuboid route

    A spider, S, sits in one corner of a cuboid room, measuring 6 by 5 by 3, and a fly, F, sits in the o ...

  3. Oracle 数据库数据结构(包括存储过程,函数,表,触发器等)版本控制器

    原理: 写系统触发器,在修改数据库结构的时候,把DDL写入表中 create sequence A_Ver_Control_seq minvalue nomaxvalue start incremen ...

  4. JAVA WEB 前台实时监控后台程序运行

    基本思路: 1. 操作状态在类中以静态变量方式(或公共类存储公共变量方式,SESSION方式.COOKIE方式)存在 2. 前台采用AJAX方式激发后台进行业务逻辑操作,并实时更新操作状态信息 3.  ...

  5. MySQL->AUTO_INCREMENT[20180516]

    MySQL表格中自增长主键AUTO_INCREMENT使用,实现序列的最简单的方式   创建一个AUTO_INCREMENT自增的表 mysql> create table seq_test( ...

  6. Role Helper

    using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using System.Collections.Ge ...

  7. Flume(3)-安装部署

    一. 下载 Flume官网地址 http://flume.apache.org/ 文档查看地址 http://flume.apache.org/FlumeUserGuide.html 下载地址 htt ...

  8. 课程 python 文件操作复习

    # 文件处理 # 打开文件 #open('路径','打开方式','指定编码方式') # 打开方式 r w a r+ w+ a+ b #r+ 打开文件直接写 和读完再写 # 编码方式 —— utf-8 ...

  9. CentOS 7.2搭建xl2tp服务器

    ## 1.下载xl2tpd.tar.gz源码包 ```wget http://pkgs.fedoraproject.org/repo/pkgs/xl2tpd/xl2tpd-1.3.8.tar.gz/d ...

  10. Bugku一段base64

    本文转自:本文为博主原创文章,如有转载请注明出处,谢谢. https://blog.csdn.net/pdsu161530247/article/details/74640746 链接中高手给出的解题 ...