十大 Node.js 的 Web 框架(快速提升工作效率)
node.js 系统含有多种不同的结构,如 mvc、全栈、rest api 和生成器等。这些结构不仅提升了 web 应用的开发效率,也优化了开发过程。在这里,我们收集整理了十个高效的 node.js 框架,希望对你有帮助。
1、node.js 开发框架 sail.js
sails.js 就像是 node.js 平台上的 rails 框架。这是一个可靠可伸缩的开发框架,面向服务的架构,提供数据驱动的 api 集合。用来开发多玩家游戏、聊天应用和实时面板引用非常方便,也可用于开发企业级 node.js 应用。
sails.js 基于 node.js, connect, express 和 socket.io 构建。
控制器示例代码:
module.exports = { hi: function (req, res) { return res.send("hi there!"); }, bye: function (req, res) { return res.redirect("http://www.oschina.net"); } };
2、node.js 服务器端框架 hapi.js
hapi.js 是一个用来构建基于 node.js 的应用和服务的富框架,使得开发者把重点放在便携可重用的应用逻辑而不是构建架构。内建输入验证、缓存、认证和其他 web 应用开发常用的功能。
示例代码:
var hapi = require('hapi'); // create a server with a host and port var server = new hapi.server('localhost', 8000); // add the route server.route({ method: 'get', path: '/hello', handler: function (request, reply) { reply('hello world'); } }); // start the server server.start();
3、node.js 高性能封装 express.js
express 是一个简洁而灵活的 node.js web应用框架, 提供一系列强大特性帮助你创建各种 web 应用。express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了 web 应用所需的功能。丰富的 http 工具以及来自 connect 框架的中间件随取随用,创建强健、友好的 api 变得快速又简单。
示例代码:
var express = require('express') var app = express() app.get('/', function (req, res) { res.send('hello world') }) app.listen(3000)
4、node.js 的 web 框架 kraken.js
kraken 基于 express 构建,实现对环境变量的感知、动态配置、高级中间件和应用生命周期的事件通知。
基本使用方法:
'use strict'; var express = require('express'), kraken = require('kraken-js'); var app = express(); app.use(kraken()); app.listen(8000);
5、web 应用构建平台 meteor
meteor 是一组新的技术用于构建高质量的 web 应用,提供很多现成的包,可直接在浏览器或者云平台中运行。
6、全栈 javascript 开发架构 mean.js
一种全栈 javascript 开发架构,它的名称来自于:mongodb,express,angular,node。
使用方法:
$ sudo npm install -g mean-cli $ mean init yournewapp
7、node.js 的 web 框架 koa.js
koa 是下一代的 node.js 的 web 框架。由 express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 web 应用和 api 的开发基础。
koa可以通过生成器摆脱回调,极大地改进错误处理。koa核心不绑定任何中间件,但提供了优雅的一组可以快速和愉悦地编写服务器应用的方法。
示例代码:
var koa = require('koa'); var app = koa(); // logger app.use(function *(next){ var start = new date; yield next; var ms = new date - start; console.log('%s %s - %s', this.method, this.url, ms); }); // response app.use(function *(){ this.body = 'hello world'; }); app.listen(3000);
8、node.js cms 和 web 应用程序平台 keystonejs
keystonejs,以 express 和 mongodb 为基础搭建的 node.js cms 和 web 应用程序平台。
具有以下特性:
- express.js 和 mongodb:keystone 会为你配置 express(node.js 上的 web 服务器),用 mongoose(领先的 odm 包)连接你的 mongodb 数据库
- 动态路由:keystone 从设置 mv* 程序的最佳实践入手,让你管理模板、视图和路由变得更容易
- 数据库域:id、string、boolean、date 和 number 是数据库的构件。keystone 以它们为基础实现了在现实工作中更实用的域类型,比如 name、email、password、address、image 和 relationship (及其它)
- 自动生成管理员界面:不管你在搭建应用程序,或者在生产环境中作为数据库内容管理系统时是否用它,keystone 的管理员界面都能节省你的时间,让你管理数据更容易
- 编码更简单:有时即便做的事情简单,异步代码也会变得复杂。keystone让简单的事情(比如在视图中显示之前加载数据)保持简单
- 表单处理:要验证表单、上次图片或用一行代码更新数据库?基于你已经定义的数据模型,keystone 可以做到
- 会话管理:keystone 自带了会话管理和认证功能,包括密码域的自动加密
- 发送 email:借助 keystone,你的应用程序可以轻松地设置、预览和发送基于模板的 email。它还集成了 mandrill (mailchimp 卓越的事务性 email 发送服务)
9、node.js 框架组件 flatiron.js
flatiron 是一款 node.js 和浏览器的框架组件,是一款构建现代化 web 应用适应性很强的框架。flatiron 提供比 rails 类组件有更丰富配置的框架组件,允许开发者自己添加他们想要的功能组件。
10、基于 node.js 的 api 框架 loopback
loopback 是基于 node.js 的一个开源的 api 框架,可以让 node.js 应用方便的跟各种设备通过 api 进行互联。
编译自:top 10 node.js frameworks for end-to-end web testing
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: React学习笔记之条件渲染(一)