十大 Node.js 的 Web 框架(快速提升工作效率)
Node.js 系統(tǒng)含有多種不同的結(jié)構(gòu),如 MVC、全棧、REST API 和生成器等。這些結(jié)構(gòu)不僅提升了 Web 應(yīng)用的開發(fā)效率,也優(yōu)化了開發(fā)過程。在這里,我們收集整理了十個(gè)高效的 Node.js 框架,希望對你有幫助。
1、Node.js 開發(fā)框架 Sail.js
Sails.js 就像是 Node.js 平臺上的 Rails 框架。這是一個(gè)可靠可伸縮的開發(fā)框架,面向服務(wù)的架構(gòu),提供數(shù)據(jù)驅(qū)動的 API 集合。用來開發(fā)多玩家游戲、聊天應(yīng)用和實(shí)時(shí)面板引用非常方便,也可用于開發(fā)企業(yè)級 Node.js 應(yīng)用。
Sails.js 基于 Node.js, Connect, Express 和 Socket.io 構(gòu)建。
控制器示例代碼:
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 服務(wù)器端框架 Hapi.js
Hapi.js 是一個(gè)用來構(gòu)建基于 Node.js 的應(yīng)用和服務(wù)的富框架,使得開發(fā)者把重點(diǎn)放在便攜可重用的應(yīng)用邏輯而不是構(gòu)建架構(gòu)。內(nèi)建輸入驗(yàn)證、緩存、認(rèn)證和其他 Web 應(yīng)用開發(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 是一個(gè)簡潔而靈活的 Node.js Web應(yīng)用框架, 提供一系列強(qiáng)大特性幫助你創(chuàng)建各種 Web 應(yīng)用。Express 不對 Node.js 已有的特性進(jìn)行二次抽象,我們只是在它之上擴(kuò)展了 Web 應(yīng)用所需的功能。豐富的 HTTP 工具以及來自 Connect 框架的中間件隨取隨用,創(chuàng)建強(qiá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 構(gòu)建,實(shí)現(xiàn)對環(huán)境變量的感知、動態(tài)配置、高級中間件和應(yīng)用生命周期的事件通知。
基本使用方法:
'use strict';
var express = require('express'),
kraken = require('kraken-js');
var app = express();
app.use(kraken());
app.listen(8000);
5、Web 應(yīng)用構(gòu)建平臺 Meteor
Meteor 是一組新的技術(shù)用于構(gòu)建高質(zhì)量的 Web 應(yīng)用,提供很多現(xiàn)成的包,可直接在瀏覽器或者云平臺中運(yùn)行。

6、全棧 Javascript 開發(fā)架構(gòu) Mean.js
一種全棧 Javascript 開發(fā)架構(gòu),它的名稱來自于:MongoDB,Express,Angular,Node。
使用方法:
$ sudo npm install -g mean-cli $ mean init yourNewApp

7、Node.js 的 Web 框架 Koa.js
Koa 是下一代的 Node.js 的 Web 框架。由 Express 團(tuán)隊(duì)設(shè)計(jì)。旨在提供一個(gè)更小型、更富有表現(xiàn)力、更可靠的 Web 應(yīng)用和 API 的開發(fā)基礎(chǔ)。
Koa可以通過生成器擺脫回調(diào),極大地改進(jìn)錯(cuò)誤處理。Koa核心不綁定任何中間件,但提供了優(yōu)雅的一組可以快速和愉悅地編寫服務(wù)器應(yīng)用的方法。
示例代碼:
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 應(yīng)用程序平臺 KeystoneJS
KeystoneJS,以 Express 和 MongoDB 為基礎(chǔ)搭建的 Node.js CMS 和 Web 應(yīng)用程序平臺。
具有以下特性:
- Express.js 和 MongoDB:Keystone 會為你配置 express(node.js 上的 Web 服務(wù)器),用 Mongoose(領(lǐng)先的 ODM 包)連接你的 MongoDB 數(shù)據(jù)庫
- 動態(tài)路由:Keystone 從設(shè)置 MV* 程序的最佳實(shí)踐入手,讓你管理模板、視圖和路由變得更容易
- 數(shù)據(jù)庫域:ID、String、Boolean、Date 和 Number 是數(shù)據(jù)庫的構(gòu)件。Keystone 以它們?yōu)榛A(chǔ)實(shí)現(xiàn)了在現(xiàn)實(shí)工作中更實(shí)用的域類型,比如 name、email、password、address、image 和 relationship (及其它)
- 自動生成管理員界面:不管你在搭建應(yīng)用程序,或者在生產(chǎn)環(huán)境中作為數(shù)據(jù)庫內(nèi)容管理系統(tǒng)時(shí)是否用它,Keystone 的管理員界面都能節(jié)省你的時(shí)間,讓你管理數(shù)據(jù)更容易
- 編碼更簡單:有時(shí)即便做的事情簡單,異步代碼也會變得復(fù)雜。Keystone讓簡單的事情(比如在視圖中顯示之前加載數(shù)據(jù))保持簡單
- 表單處理:要驗(yàn)證表單、上次圖片或用一行代碼更新數(shù)據(jù)庫?基于你已經(jīng)定義的數(shù)據(jù)模型,Keystone 可以做到
- 會話管理:Keystone 自帶了會話管理和認(rèn)證功能,包括密碼域的自動加密
- 發(fā)送 Email:借助 Keystone,你的應(yīng)用程序可以輕松地設(shè)置、預(yù)覽和發(fā)送基于模板的 email。它還集成了 Mandrill (Mailchimp 卓越的事務(wù)性 email 發(fā)送服務(wù))
9、Node.js 框架組件 flatiron.js
flatiron 是一款 Node.js 和瀏覽器的框架組件,是一款構(gòu)建現(xiàn)代化 web 應(yīng)用適應(yīng)性很強(qiáng)的框架。flatiron 提供比 Rails 類組件有更豐富配置的框架組件,允許開發(fā)者自己添加他們想要的功能組件。
10、基于 Node.js 的 API 框架 LoopBack
LoopBack 是基于 Node.js 的一個(gè)開源的 API 框架,可以讓 Node.js 應(yīng)用方便的跟各種設(shè)備通過 API 進(jìn)行互聯(lián)。
編譯自:Top 10 Node.js frameworks for end-to-end Web testing
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node全局變量__dirname與__filename的區(qū)別
這篇文章主要介紹了node全局變量__dirname與__filename的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
使用Fetch API執(zhí)行GraphQL查詢和變體問題
這篇文章主要介紹了使用Fetch API執(zhí)行GraphQL查詢和變體問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
詳解Node.js實(shí)現(xiàn)301、302重定向服務(wù)
這篇文章主要介紹了詳解Node.js實(shí)現(xiàn)301、302重定向服務(wù),詳細(xì)的介紹了用Nodejs的http模塊,實(shí)現(xiàn)一個(gè)301或302重定服務(wù)。2017-04-04
使用pkg打包nodejs項(xiàng)目并解決本地文件讀取的問題
這篇文章主要介紹了使用pkg打包nodejs項(xiàng)目并解決本地文件讀取的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
node.js對于數(shù)據(jù)庫MySQL基本操作實(shí)例總結(jié)【增刪改查】
這篇文章主要介紹了node.js對于數(shù)據(jù)庫MySQL基本操作,結(jié)合實(shí)例形式總結(jié)分析了node.js針對mysql數(shù)據(jù)庫基本配置、連接與增刪改查相關(guān)操作技巧,需要的朋友可以參考下2023-04-04

