十大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 進行互聯。