1.概述:
Node.js是基於Chrome JavaScript運行時建立的一個平台,實際上它是對Google Chrome V8引擎進行了封裝,它主要用於創建快速的、可擴展的網絡應用。Node.js采用事件驅動和非阻塞I/O模型,使其變得輕微和高效,非常適合構建運行在分布式設備的數據密集型實時應用。
運行於瀏覽器的Javascript,瀏覽器就是Javascript代碼的解析器,而Node.js則是服務器端JS的代碼解析器,存於服務器端的JS代碼由Node.js來解析和應用。
JS解析器只是JS代碼運行的一種環境,瀏覽器是JS運行的一種環境,瀏覽器為JS提供了操作DOM對象和window對象等接口。Node.js也是JS的一種運行環境,node.js為JS提供操作文件、創建http服務、創建TCP、UDP服務等接口,所以Node.js可以完成其他后台語言能完成的工作。
2.交互式運行環境:PEPL
Node.js提供了一個交互式運行環境,通過這個環境,可以立即執行JS代碼,使用方法類似於Chrome瀏覽器中Firebug插件中的Console。
在Linux環境進入終端后,屬於"node"或者“nodejs”進入Node.js的交互式運行環境,Ctrl+d可以退出此環境。
查看系統中安裝的Node.js版本:node -v or nodejs -v
運行JS文件,eg:node file.js or nodejs file.js
3.Node.js模塊和包
a.模塊
Node.js官方提供了很多模塊,這些模塊分別實現了一種功能,如操作文件模塊fs,構建http服務模塊的http等,每個模塊都是一個JS文件,當然也可以自己編 寫模塊。
2.包
包可以將多個具有依賴關系的模塊組織在一起,封裝多個模塊,以方便管理。Node.js采用了CommonJS規范,根據CommonJS規范規定,一個JS文件就是 一個模塊,而包是一個文件夾,包內必須包含一個JSON文件,命名package.json。一般情況下,包內bin文件夾存放二進制文件,包內的lib文件夾存放JS文件,包內的doc文件夾存放文檔,包內的test文件夾存放單元測試。package.json文件中需要包含的字段及包的使用。
3.npm包管理工具
npm是node.js的包管理工具,npm定義了包依賴關系標准,我們使用npm主要用來下載第三方包和管理本地下載的第三方包。