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. JavaScript互斥锁案例

    朋友今天问起来关于JS中多个函数共享同一个全局变量时,顺序调用执行的函数,前者修改了全局变量值,后调用的函数访问时却为undefined. 前不久开发项目过程中,队友也遇到了同样的问题,索性就写份博客 ...

  2. GoogleMock初探(0)

    在进行测试过程中,待测的类或者方法经常会依赖其他类或方法的实现.如果此时这些依赖还没有实现,则需要打桩.另外测试讲求独立,测试之间的互相依赖会导致测试最终混乱不堪. GoogleMock提供一套方法来 ...

  3. Redis报(error) NOAUTH Authentication required.问题解决

    启动后 输入auth+空格+密码 ok

  4. 快速认识LinkIt 7697开发板

    LinkIt 7697是一款多功能且价格亲民的开发板,可用来连接网络或你的各项装置,同时提供Wi-Fi及蓝芽两种联机功能.此开发板采用MediaTek MT7697芯片,比起其他类似的Wi-Fi/蓝芽 ...

  5. Java 访问控制规则简介

    1. 概述 老生常谈的内容 巩固一下自己 要摇摇欲坠的基础 内容确实不怎么高级... 2. 常规解释 1. 概述 简单说下什么情况 在单纯考虑 public, protected, 以及 privat ...

  6. .Net 两个对像之间的映射 (一 )

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. 2016-2017-2 《Java程序设计》课程总结 - 20155214

    2016-2017-2 <Java程序设计>课程总结 - 20155214 目录 一.每周学习总结及实验报告链接汇总 二.代码托管 给出statistic.sh的运行结果,说明本学期的代码 ...

  8. 20155217 2016-2017-2 《Java程序设计》第10周学习总结

    20155217 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 程序员所作的事情 ...

  9. 20155320 2016-2017-2《Java程序设计》第十周学习总结

    20155320 2016-2017-2<Java程序设计>第十周学习总结 教材学习内容总结 本周学习目标 了解计算机网络基础 掌握Java Socket编程 理解混合密码系统 掌握Jav ...

  10. 20155332 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉

    实验内容 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:java:javac ...