7个Node.js的Web框架
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. 简单的REST路由:如app.get(/account/:id, function(req, res){ /* req.params('id') is available */ });
- 通过Jade的简单模板化
- 自动化的http处理。
- 支持异步处理请求响应的中间件。
- 分析POST请求体
- 防止XSS攻击
- 错误处理
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框架的更多相关文章
- koa : Express出品的下一代基于Node.js的web框架
https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966a ...
- Express 4.x Node.js的Web框架
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3821150.html ...
- 搭建Node.js的Web框架egg.js
1 egg.js的Request处理流程: 2. 使用nodejs下载egg.js框架 (1)现在nodejs中全局安装egg-init 即在nodejs安装根目录下执行 : d:cd nodejs ...
- Express 4.x Node.js的Web框架----《转载》
本文使用node.js v0.10.28 + express 4.2.0 1 Express概述 Express 是一个简洁而灵活的node.js的MVC Web应用框架,提供一系列强大特性创建各种W ...
- [Node.js]Express web框架
摘要 Express是一个简洁灵活的node.js web应用框架,提供了一系列强大特性帮助你创建各种web应用和丰富的http工具.使用express可以快速创建一个完整功能的网站. Express ...
- 基于node.js的web框架express
1.安装node.js方法: window :https://nodejs.org/en/ linux:http://www.runoob.com/nodejs/nodejs-install-setu ...
- node.js之web开发 koa入门
用Node.js开发Web服务器端,有几个显著的优势: 速度快,非常快!这得益于Node.js天生是异步的. 常见的Web框架包括:Express,Sails.js,koa,Meteor,DerbyJ ...
- Hexo - 快速,轻量,强大的 Node.js 博客框架
Hexo 是一个快速,轻量,强大的 Node.js 博客框架.带给你难以置信的编译速度,瞬间生成静态文件:支持 Markdown,甚至可以在 Hexo 中集合 Octopress 插件:只需要一个命令 ...
- 快速使用node.js进行web开发
首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这 ...
随机推荐
- 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 ...
- freemark生成静态网页乱码问题
输出流问题:修改Writer如下: OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(dir), &quo ...
- 使用vue封装一个tab栏切换的左侧导航栏的公共组件
首先看最终效果图: 1.compent文件夹里添加tab文件夹,里面创建index.vue index.js index.css index.vue内的template部份代码如下:(最新更正:代码 ...
- Django实现支付宝支付(沙箱)
1.安装SDK 点击右侧沙箱当面付接入指导,之后可以看到一个下载SDK的按钮,点击后,会有python的SDK下载链接,但还是属于公测中,也可以通过在cmd里输入以下代码来安装. pip instal ...
- iOS 越狱后 SSH 不能连接
10.3 越狱之后,装上 OpenSSH, 但是发现连接不上,一直卡着不动,端口是通的,但是就是一直卡着.解决方法是在 Cydia 添加源 http://apt.cydiaba.cn,搜索 Dropb ...
- MongoDB怎么用?
MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库 ...
- vue 项目中px转rem转换问题(postcss-px2rem)
1.安装postcss-px2rem npm install postcss-px2rem --save npm install postcss-px2rem --save 2.配置px2rem 在配 ...
- 详解LeetCode 137. Single Number II
Given an array of integers, every element appears three times except for one, which appears exactly ...
- SSM-CRUD入门项目——查询
查询 1.基础查询 分析:访问项目主页 index.jsp 时应该跳转到列表页 我们可以在index.jsp发出查询员工列表请求,来到 list.jsp 使用插件 pageHelper 完成分页功能— ...
- 20155229——实验五《 Java网络编程及安全》
20155229--实验五 Java网络编程及安全 实验内容 实验一: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA ...