十大 Node.js 的 Web 框架(快速提升工作效率)


Posted in Javascript onJune 30, 2017

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 应用,提供很多现成的包,可直接在浏览器或者云平台中运行。

十大 Node.js 的 Web 框架(快速提升工作效率)

6、全栈 Javascript 开发架构 Mean.js

一种全栈 Javascript 开发架构,它的名称来自于:MongoDB,Express,Angular,Node。

使用方法:

$ sudo npm install -g mean-cli
$ mean init yourNewApp

十大 Node.js 的 Web 框架(快速提升工作效率)

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 应用程序平台。

具有以下特性:

  1. Express.js 和 MongoDB:Keystone 会为你配置 express(node.js 上的 Web 服务器),用 Mongoose(领先的 ODM 包)连接你的 MongoDB 数据库
  2. 动态路由:Keystone 从设置 MV* 程序的最佳实践入手,让你管理模板、视图和路由变得更容易
  3. 数据库域:ID、String、Boolean、Date 和 Number 是数据库的构件。Keystone 以它们为基础实现了在现实工作中更实用的域类型,比如 name、email、password、address、image 和 relationship (及其它)
  4. 自动生成管理员界面:不管你在搭建应用程序,或者在生产环境中作为数据库内容管理系统时是否用它,Keystone 的管理员界面都能节省你的时间,让你管理数据更容易
  5. 编码更简单:有时即便做的事情简单,异步代码也会变得复杂。Keystone让简单的事情(比如在视图中显示之前加载数据)保持简单
  6. 表单处理:要验证表单、上次图片或用一行代码更新数据库?基于你已经定义的数据模型,Keystone 可以做到
  7. 会话管理:Keystone 自带了会话管理和认证功能,包括密码域的自动加密
  8. 发送 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
Jan 08 Javascript
JS截取url中问号后面参数的值信息
Apr 29 Javascript
JavaScript如何自定义trim方法
Jul 28 Javascript
封装属于自己的JS组件
Jan 27 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
Jul 13 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
Aug 30 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
Oct 31 Javascript
jQuery zTree插件使用简单教程
Aug 16 jQuery
使用 js 简单的实现 bind、call 、aplly代码实例
Sep 07 Javascript
详解vue 组件的实现原理
Nov 12 Javascript
vue.js移动端tab组件的封装实践实例
Jun 30 #Javascript
jQuery表单设置值的方法
Jun 30 #jQuery
JavaScript注册时密码强度校验代码
Jun 30 #Javascript
Bootstrap Table从零开始
Jun 30 #Javascript
最全的JavaScript开发工具列表 总有一款适合你
Jun 29 #Javascript
常见的浏览器Hack技巧整理
Jun 29 #Javascript
详解webpack+gulp实现自动构建部署
Jun 29 #Javascript
You might like
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python3列表List入门知识附实例
2020/02/09 Python
python regex库实例用法总结
2021/01/03 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
怎样写留学自荐信
2013/11/11 职场文书
如何做好总经理助理
2013/11/12 职场文书
学习党章思想汇报
2014/01/07 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书