Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境逻卖。
Node.js 使用了一個事件驅動履腋、非阻塞式 I/O 的模型帖蔓,使其輕量又高效企软。
Node.js 的包管理器 npm庐扫,是全球最大的開源庫生態(tài)系統(tǒng)。
Node.js 系統(tǒng)含有多種不同的結構仗哨,如 MVC形庭、全棧、REST API 和生成器等厌漂。這些結構不僅提升了 Web 應用的開發(fā)效率萨醒,也優(yōu)化了開發(fā)過程。在這里苇倡,我們收集整理了十個高效的 Node.js 框架富纸,希望對你有幫助囤踩。
Node.js 系統(tǒng)含有多種不同的結構,如 MVC晓褪、全棧堵漱、REST API 和生成器等。這些結構不僅提升了 Web 應用的開發(fā)效率涣仿,也優(yōu)化了開發(fā)過程勤庐。在這里,我們收集整理了十個高效的 Node.js 框架好港,希望對你有幫助愉镰。
1、Node.js 開發(fā)框架 Sail.js
Sails.js 就像是 Node.js 平臺上的 Rails 框架钧汹。這是一個可靠可伸縮的開發(fā)框架丈探,面向服務的架構,提供數(shù)據(jù)驅動的 API 集合崭孤。用來開發(fā)多玩家游戲类嗤、聊天應用和實時面板引用非常方便,也可用于開發(fā)企業(yè)級 Node.js 應用辨宠。
Sails.js 基于 Node.js, Connect, Express 和 Socket.io 構建遗锣。
控制器示例代碼:
module.exports = {hi:function(req, res){returnres.send("Hi there!");? },bye:function(req, res){returnres.redirect("http://www.OSChina.net");? }};
2、Node.js 服務器端框架 Hapi.js
Hapi.js 是一個用來構建基于 Node.js 的應用和服務的富框架嗤形,使得開發(fā)者把重點放在便攜可重用的應用邏輯而不是構建架構精偿。內(nèi)建輸入驗證、緩存赋兵、認證和其他 Web 應用開發(fā)常用的功能笔咽。
示例代碼:
varHapi =require('hapi');// Create a server with a host and portvarserver =newHapi.Server('localhost',8000);// Add the routeserver.route({method:'GET',path:'/hello',handler:function(request, reply){? ? ? ? reply('hello world');? ? }});// Start the serverserver.start();
3、Node.js 高性能封裝 Express.js
Express 是一個簡潔而靈活的 Node.js Web應用框架, 提供一系列強大特性幫助你創(chuàng)建各種 Web 應用霹期。Express 不對 Node.js 已有的特性進行二次抽象叶组,我們只是在它之上擴展了 Web 應用所需的功能。豐富的 HTTP 工具以及來自 Connect 框架的中間件隨取隨用历造,創(chuàng)建強健甩十、友好的 API 變得快速又簡單。
示例代碼:
varexpress =require('express')varapp = 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';varexpress =require('express'),? ? kraken =require('kraken-js');varapp = express();app.use(kraken());app.listen(8000);
5、Web 應用構建平臺 Meteor
Meteor 是一組新的技術用于構建高質量的 Web 應用邑蒋,提供很多現(xiàn)成的包姓蜂,可直接在瀏覽器或者云平臺中運行按厘。
6、全棧 Javascript 開發(fā)架構 Mean.js
一種全棧 Javascript 開發(fā)架構覆糟,它的名稱來自于:MongoDB刻剥,Express,Angular滩字,Node造虏。
使用方法:
$ sudo npm install -gmean-cli$meaninit yourNewApp
7、Node.js 的 Web 框架 Koa.js
Koa 是下一代的 Node.js 的 Web 框架麦箍。由 Express 團隊設計漓藕。旨在提供一個更小型、更富有表現(xiàn)力挟裂、更可靠的 Web 應用和 API 的開發(fā)基礎享钞。
Koa可以通過生成器擺脫回調,極大地改進錯誤處理诀蓉。Koa核心不綁定任何中間件栗竖,但提供了優(yōu)雅的一組可以快速和愉悅地編寫服務器應用的方法。
示例代碼:
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)太防。