安裝原因:1、Nodejs的開發(fā)非常高效,而且代碼簡單;2、Nodejs可進(jìn)行異步編程,在處理IO密集型應(yīng)用上有優(yōu)勢;3、項(xiàng)目開發(fā)中利用NPM包管理工具可以很方便的安裝、共享、分發(fā)代碼,管理項(xiàng)目依賴關(guān)系,而NPM運(yùn)行在node.js上。
本教程操作環(huán)境:windows7系統(tǒng)、nodejs 12.19.0版,DELL G3電腦。
為什么要安裝nodejs?
Nodejs的開發(fā)非常高效,而且代碼簡單,得益于Nodejs的單線程機(jī)制。而Nodejs的另一個特點(diǎn)–異步編程,讓Nodejs處理IO密集型應(yīng)用有了明顯的優(yōu)勢。
Node.js有一個很棒的包管理系統(tǒng)NPM。
在討論 Node.js 時,一件絕對不應(yīng)該被忽略的事是支持使用內(nèi)置的 npm 工具進(jìn)行包管理,默認(rèn)情況下每個 Node.js 環(huán)境都會安裝。 npm 模塊的概念非常類似于 Ruby Gems:一組可通過在線存儲庫輕松安裝,具有版本和依賴關(guān)系管理的可重用組件,。
通過運(yùn)行“npm install 包名”幾乎可以安裝任何包/庫。另外,通過package.json文件可以跟蹤依賴關(guān)系。因此,Node.js庫很容易克隆,運(yùn)行“npm install”可以安裝所有的依賴關(guān)系。
可以在 npm 網(wǎng)站上找到已打包模塊的完整列表,也可以使用自動與 Node.js 一起安裝的 npm CLI 工具進(jìn)行訪問。模塊生態(tài)系統(tǒng)對所有人開放,任何人都可以發(fā)布自己的模塊,發(fā)布的模塊將出現(xiàn)在 npm 存儲庫中。
一些很有用的 npm 模塊是:
-
express —— Express.js,一個受 Sinatra 啟發(fā)的 Node.js Web 開發(fā)框架,當(dāng)今大多數(shù) Node.js 應(yīng)用程序的事實(shí)標(biāo)準(zhǔn)。
-
hapi —— 一個模塊化的且非常易于使用的以配置為中心的框架,用于構(gòu)建 Web 和服務(wù)應(yīng)用
-
connect —— Connect 是 Node.js 的可擴(kuò)展 HTTP 服務(wù)器框架,提供了一系列稱為中間件的高性能“插件”作為Express的基礎(chǔ)。
-
socket.io 和 sockjs —— 今天最常見的兩個 websockets 服務(wù)器端組件。
-
pug(以前叫 Jade)—— 受 HAML 啟發(fā)的流行模板引擎之一,Express.js 中的默認(rèn)選項(xiàng)。
-
mongodb 和 mongojs —— MongoDB 包裝器,為 Node.js 中的 MongoDB 對象數(shù)據(jù)庫提供 API。
-
redis —— Redis 客戶端。
-
forever—— 可能是確保給定 node 腳本連續(xù)運(yùn)行的最常用實(shí)用程序。在遇到意外故障時,將 Node.js 的進(jìn)程保持在生產(chǎn)狀態(tài)。
-
bluebird —— 功能齊全的 Promises/A+ 實(shí)現(xiàn),性能非常出色
-
moment —— 用于解析、驗(yàn)證、操作和格式化日期的輕量級 JavaScript 日期庫。
列表還在不斷增長。那里有很多有用的包,可供所有人使用。
Node的優(yōu)點(diǎn):
Node作為一個新興的前端框架,后臺語言,有很多吸引人的地方:
-
RESTful API
-
單線程
-
Node可以在不新增額外線程的情況下,依然可以對任務(wù)進(jìn)行并發(fā)處理 —— Node.js是單線程的。它通過事件循環(huán)(event loop)來實(shí)現(xiàn)并發(fā)操作,對此,我們應(yīng)該要充分利用這一點(diǎn) —— 盡可能的避免阻塞操作,取而代之,多使用非阻塞操作。
-
非阻塞IO
-
V8虛擬機(jī)
-
事件驅(qū)動
【推薦學(xué)習(xí):《nodejs 教程》】