1. 程式人生 > >15個Nodejs應用場景

15個Nodejs應用場景

程序開發 包括 web 核心 協議 soc 異常處理 軟件 webkit

15個Nodejs應用場景

我們已經對Nodejs有了初步的了解,接下來看看Nodejs的應用場景。

2.1 Web開發:Express + EJS + Mongoose/MySQL

express 是輕量靈活的Nodejs Web應用框架,它可以快速地搭建網站。Express框架建立在Nodejs內置的Http模塊上,並對Http模塊再包裝,從而實際Web請求處理的功能。

ejs是一個嵌入的Javascript模板引擎,通過編譯生成HTML的代碼。

mongoose 是MongoDB的對象模型工具,通過Mongoose框架,可以進行訪問MongoDB的操作。

mysql 是連接MySQL數據庫的通信API,可以進行訪問MySQL的操作。

通常用Nodejs做Web開發,需要3個框架配合使用,就像Java中的SSH。

技術分享

2.2 REST開發:Restify

restify 是一個基於Nodejs的REST應用框架,支持服務器端和客戶端。restify比起express更專註於REST服務,去掉了express中的template, render等功能,同時強化了REST協議使用,版本化支持,HTTP的異常處理。

技術分享

2.3 Web聊天室(IM):Express + Socket.io

socket.io一個是基於Nodejs架構體系的,支持websocket的協議用於時時通信的一個軟件包。socket.io 給跨瀏覽器構建實時應用提供了完整的封裝,socket.io完全由javascript實現。

技術分享

2.4 Web爬蟲:Cheerio/Request

cheerio 是一個為服務器特別定制的,快速、靈活、封裝jQuery核心功能工具包。Cheerio包括了 jQuery核心的子集,從jQuery庫中去除了所有DOM不一致性和瀏覽器不兼容的部分,揭示了它真正優雅的API。Cheerio工作在一個非常簡單,一致的DOM模型之上,解析、操作、渲染都變得難以置信的高效。基礎的端到端的基準測試顯示Cheerio大約比JSDOM快八倍(8x)[email protected],幾乎能夠解析任何的 HTML 和 XML document。

技術分享

2.5 Web博客:Hexo

Hexo 是一個簡單地、輕量地、基於Node的一個靜態博客框架。通過Hexo我們可以快速創建自己的博客,僅需要幾條命令就可以完成。

發布時,Hexo可以部署在自己的Node服務器上面,也可以部署github上面。對於個人用戶來說,部署在github上好處頗多,不僅可以省去服務器的成本,還可以減少各種系統運維的麻煩事(系統管理、備份、網絡)。所以,基於github的個人站點,正在開始流行起來….

技術分享

2.6 Web論壇: nodeclub

Node Club 是用 Node.js 和 MongoDB 開發的新型社區軟件,界面優雅,功能豐富,小巧迅速, 已在Node.js 中文技術社區 CNode 得到應用,但你完全可以用它搭建自己的社區。

技術分享

2.7 Web幻燈片:Cleaver

Cleaver 可以生成基於Markdown的演示文稿。如果你已經有了一個Markdown的文檔,30秒就可以制作成幻燈片。Cleaver是為Hacker準備的工具。

技術分享

2.8 前端包管理平臺: bower.js

Bower 是 twitter 推出的一款包管理工具,基於nodejs的模塊化思想,把功能分散到各個模塊中,讓模塊和模塊之間存在聯系,通過 Bower 來管理模塊間的這種聯系。

技術分享

2.9 OAuth認證:Passport

Passport項目是一個基於Nodejs的認證中間件。Passport目的只是為了“登陸認證”,因此,代碼幹凈,易維護,可以方便地集成到其他的應用中。Web應用一般有2種登陸認證的形式:用戶名和密碼認證登陸,OAuth認證登陸。Passport可以根據應用程序的特點,配置不同的認證機制。本文將介紹,用戶名和密碼的認證登陸。

技術分享

2.10 定時任務工具: later

Later 是一個基於Nodejs的工具庫,用最簡單的方式執行定時任務。Later可以運行在Node和瀏覽器中。

技術分享

2.11 瀏覽器環境工具: browserify

Browserify 的出現可以讓Nodejs模塊跑在瀏覽器中,用require()的語法格式來組織前端的代碼,加載npm的模塊。在瀏覽器中,調用browserify編譯後的代碼,同樣寫在<script>標簽中。

用 Browserify 的操作,分為3個步驟。1. 寫node程序或者模塊, 2. 用Browserify 預編譯成 bundle.js, 3. 在HTML頁面中加載bundle.js。

技術分享

2.12 命令行編程工具:Commander

commander 是一個輕巧的nodejs模塊,提供了用戶命令行輸入和參數解析強大功能。commander源自一個同名的Ruby項目。commander的特性:自記錄代碼,自動生成幫助,合並短參數(“ABC”==“-A-B-C”),默認選項,強制選項??,命令解析,提示符。

技術分享

2.13 Web控制臺工具: tty.js

tty.js 是一個支持在瀏覽器中運行的命令行窗口,基於node.js平臺,依賴socket.io庫,通過websocket與Linux系統通信。特性:支持多tab窗口模型; 支持vim,mc,irssi,vifm語法; 支持xterm鼠標事件; 支持265色顯示; 支持session。

技術分享

2.14 客戶端應用工具: node-webkit

Node-Webkit 是NodeJS與WebKit技術的融合,提供一個跨Windows、Linux平臺的客戶端應用開發的底層框架,利用流行的Web技術(Node.JS,JavaScript,HTML5)來編寫應用程序的平臺。應用程序開發人員可以輕松的利用Web技術來實現各種應用程序。Node-Webkit性能和特色已經讓它成為當今世界領先的Web技術應用程序平臺。

技術分享

2.15 操作系統: node-os

NodeOS 是采用NodeJS開發的一款友好的操作系統,該操作系統是完全建立在Linux內核之上的,並且采用shell和NPM進行包管理,采用NodeJS不僅可以很好地進行包管理,還可以很好的管理腳本、接口等。目前,Docker和Vagrant都是采用NodeOS的首個版本進行構建的。

技術分享

原博:http://blog.fens.me/nodejs-roadmap/

15個Nodejs應用場景