十大Node.js 的Web框架,快速提升工作效率
Node.js 系統(tǒng)含有多種不同的結(jié)構,如 MVC、全棧、REST API 和生成器等。這些結(jié)構不僅提升了 Web 應用的開發(fā)效率,也優(yōu)化了開發(fā)過程。在這里,我們收集整理了十個高效的 Node.js 框架,希望對你有幫助。
1、Node.js 開發(fā)框架 Sail.js
Sails.js 就像是 Node.js 平臺上的 Rails 框架。這是一個可靠可伸縮的開發(fā)框架,面向服務的架構,提供數(shù)據(jù)驅(qū)動的 API 集合。用來開發(fā)多玩家游戲、聊天應用和實時面板引用非常方便,也可用于開發(fā)企業(yè)級 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 的應用和服務的富框架,使得開發(fā)者把重點放在便攜可重用的應用邏輯而不是構建架構。內(nèi)建輸入驗證、緩存、認證和其他 Web 應用開發(fā)常用的功能。
示例代碼:
- 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應用框架, 提供一系列強大特性幫助你創(chuàng)建各種 Web 應用。Express 不對 Node.js 已有的特性進行二次抽象,我們只是在它之上擴展了 Web 應用所需的功能。豐富的 HTTP 工具以及來自 Connect 框架的中間件隨取隨用,創(chuàng)建強健、友好的 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 構建,實現(xiàn)對環(huán)境變量的感知、動態(tài)配置、高級中間件和應用生命周期的事件通知。
基本使用方法:
- 'use strict';
- var express = require('express'),
- kraken = require('kraken-js');
- var app = express();
- app.use(kraken());
- app.listen(8000);
5、Web 應用構建平臺 Meteor
Meteor 是一組新的技術用于構建高質(zhì)量的 Web 應用,提供很多現(xiàn)成的包,可直接在瀏覽器或者云平臺中運行。
6、全棧 Javascript 開發(fā)架構 Mean.js
一種全棧 Javascript 開發(fā)架構,它的名稱來自于:MongoDB,Express,Angular,Node。
使用方法:
- $ sudo npm install -g mean-cli
- $ mean init yourNewApp
7、Node.js 的 Web 框架 Koa.js
Koa 是下一代的 Node.js 的 Web 框架。由 Express 團隊設計。旨在提供一個更小型、更富有表現(xiàn)力、更可靠的 Web 應用和 API 的開發(fā)基礎。
Koa可以通過生成器擺脫回調(diào),極大地改進錯誤處理。Koa核心不綁定任何中間件,但提供了優(yōu)雅的一組可以快速和愉悅地編寫服務器應用的方法。
示例代碼:
- 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 數(shù)據(jù)庫
- 動態(tài)路由:Keystone 從設置 MV* 程序的***實踐入手,讓你管理模板、視圖和路由變得更容易
- 數(shù)據(jù)庫域:ID、String、Boolean、Date 和 Number 是數(shù)據(jù)庫的構件。Keystone 以它們?yōu)榛A實現(xiàn)了在現(xiàn)實工作中更實用的域類型,比如 name、email、password、address、image 和 relationship (及其它)
- 自動生成管理員界面:不管你在搭建應用程序,或者在生產(chǎn)環(huán)境中作為數(shù)據(jù)庫內(nèi)容管理系統(tǒng)時是否用它,Keystone 的管理員界面都能節(jié)省你的時間,讓你管理數(shù)據(jù)更容易
- 編碼更簡單:有時即便做的事情簡單,異步代碼也會變得復雜。Keystone讓簡單的事情(比如在視圖中顯示之前加載數(shù)據(jù))保持簡單
- 表單處理:要驗證表單、上次圖片或用一行代碼更新數(shù)據(jù)庫?基于你已經(jīng)定義的數(shù)據(jù)模型,Keystone 可以做到
- 會話管理:Keystone 自帶了會話管理和認證功能,包括密碼域的自動加密
- 發(fā)送 Email:借助 Keystone,你的應用程序可以輕松地設置、預覽和發(fā)送基于模板的 email。它還集成了 Mandrill (Mailchimp 卓越的事務性 email 發(fā)送服務)
9、Node.js 框架組件 flatiron.js
flatiron 是一款 Node.js 和瀏覽器的框架組件,是一款構建現(xiàn)代化 web 應用適應性很強的框架。flatiron 提供比 Rails 類組件有更豐富配置的框架組件,允許開發(fā)者自己添加他們想要的功能組件。
10、基于 Node.js 的 API 框架 LoopBack
LoopBack 是基于 Node.js 的一個開源的 API 框架,可以讓 Node.js 應用方便的跟各種設備通過 API 進行互聯(lián)。