關(guān)鍵詞:node.js
node.js簡(jiǎn)介
- Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。
- Node.js 使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式 I/O 的模型,使其輕量又高效。
- Node.js 的包管理器 npm,是全球最大的開源庫生態(tài)系統(tǒng)。
Node.js 思路:
使用非阻塞的,事件驅(qū)動(dòng)的 I/O 操作來保持在處理跨平臺(tái) (across distributed devices) 數(shù)據(jù)密集型實(shí)時(shí)應(yīng)用時(shí)的輕巧高效。這聽起來有點(diǎn)繞口。
它的真正含義是,Node.js 不是一個(gè)即將主導(dǎo)Web開發(fā)的世界的銀彈級(jí)的平臺(tái)。相反,它是一個(gè)滿足特別需求的平臺(tái)。你肯定不會(huì)希望使用 Node.js 去做 CPU密集型操作。事實(shí)上,使用它進(jìn)行繁重的計(jì)算等于摒棄 Node 幾乎所有的優(yōu)點(diǎn)。Node 真正的亮點(diǎn)在于建設(shè)高性能,高擴(kuò)展性的互聯(lián)網(wǎng)應(yīng)用——因?yàn)樗軌蛱幚睚嫶蟮牟⑶腋咄掏铝康牟l(fā)連接。
它的工作原理是相當(dāng)有趣的。傳統(tǒng)的網(wǎng)絡(luò)服務(wù)技術(shù),是每個(gè)新增一個(gè)連接(請(qǐng)求)便生成一個(gè)新的線程,這個(gè)新的線程會(huì)占用系統(tǒng)內(nèi)存,最終會(huì)占掉所有的可用內(nèi)存。而 Node.js 僅僅只運(yùn)行在一個(gè)單線程中,使用非阻塞的異步 I/O 調(diào)用,所有連接都由該線程處理,在 libuv 的加分下,可以允許其支持?jǐn)?shù)萬并發(fā)連接(全部掛在該線程的事件循環(huán)中)。
node.js下載
[官方下載地址][]
[官方下載地址]:http://nodejs.cn/download/
node.js文檔
[官方文檔][]
[官方文檔]:http://nodejs.cn/api/
npm模塊
目前非常流行的一些 NPM 模塊有:
- express – Express.js,是一個(gè)簡(jiǎn)潔而靈活的 node.js Web應(yīng)用框架, 并且已經(jīng)是現(xiàn)在大多數(shù) Node.js 應(yīng)用的標(biāo)準(zhǔn)框架,你已經(jīng)可以在很多 Node.js 的書籍中看到它了。
- connect – Connect 是一個(gè) Node.js 的 HTTP 服務(wù)拓展框架,提供一個(gè)高性能的“插件”集合,以中間件聞名,是 Express 的基礎(chǔ)部分之一。
-
socket.io 和 sockjs – 目前服務(wù)端最流行的兩個(gè) websocket 組件。
Jade – 流行的模板引擎之一,并且是 Express.js 的默認(rèn)模板引擎。其靈感來源于 HAML。 - mongo 和 mongojs – 封裝了 MongoDB 的的各種 API,不過筆者平常工作用的是 mongoose 也很推薦。
- redis – Redis 的客戶端函數(shù)庫.
- coffee-script – CoffeeScript 編譯器,允許開發(fā)者使用 Coffee 來編寫他們的 Node.js 程序。
- underscore (lodash, lazy) – 最流行的 JavaScript 工具庫 , 用于 Node.js 的封裝包,以及兩個(gè)采取略有不同的實(shí)現(xiàn)方法來獲得更好性能的同行。
- forever – 可能是用來確保 node 腳本持續(xù)運(yùn)行的最流行的工具。