Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web應用程序框架。 它的最新版本是:v0.12.7(在編寫本教程時的版本)。Node.js在官方網站的定義文件內容如下:
Node.js® is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Node.js自帶運行時環境可在Javascript腳本的基礎上可以解釋和執行(這類似於JVM的Java字節碼)。這個運行時允許在瀏覽器以外的任何機器上執行JavaScript代碼。由於這種運行時在Node.js上,所以JavaScript現在可以在服務器上並執行。
Node.js還提供了各種豐富的JavaScript模塊庫,它極大簡化了使用Node.js來擴展Web應用程序的研究與開發。
Node.js = 運行環境+ JavaScript庫
Node.js特性
Node.js庫的異步和事件驅動的API全部都是異步就是非阻塞。它主要是指基於Node.js的服務器不會等待API返回的數據。服務器移動到下一個API調用,Node.js發生的事件通知機制後有助於服務器獲得從之前的API調用的響應。
非常快的內置谷歌Chrome的V8 JavaScript引擎,Node.js庫代碼執行是非常快的。
單線程但高度可擴展 - Node.js使用具有循環事件單線程模型。事件機制有助於服務器在一個非阻塞的方式響應並使得服務器高度可擴展,而不是創建線程限制來處理請求的傳統服務器。Node.js使用單線程的程序,但可以提供比傳統的服務器(比如Apache HTTP服務器)的請求服務數量要大得多。
沒有緩衝 - Node.js的應用從來不使用緩衝任何數據。這些應用只是輸出數據在塊中。
許可證協議 - Node.js 在 MIT 協議 下發布
在哪裏可以使用Node.js?
以下是Node.js證明自己完美的技術的合作伙伴的領域。
I/O 綁定應用程序
數據流應用
數據密集型實時應用(DIRT)
JSON API的應用程序
單頁面應用
在哪些地方不要使用Node.js?
不建議使用Node.js的就是針對CPU密集型應用。
Node.js - 環境安裝配置
如果願意安裝設置Node.js環境,需要計算機上提供以下兩個軟件:
一、文本編輯器
二、Node.js二進制安裝包
Node.js 運行時
編寫源文件中的源代碼只需知道了解JavaScript。Node.js解釋器將用於解釋和執行JavaScript代碼。
Node.js的發行版以二進制安裝在SunOS,Linux,Mac OS X和Windows的32位(386)和64位(AMD64)的x86處理器架構操作系統。
以下部分將指導如何將Node.js的二進制分發版安裝在各種操作系統上。
在Windows上安裝Node.js(本教程中使用)
使用MSI文件,並按照提示安裝node.js,默認情況下,安裝程序將 Node.js 發行到 C:\Program Files\nodejs. 但這裏我們需要修改安裝路徑到:D:\yiibai_worksp\nodejs,並將 D:\yiibai_worksp\nodejs 目錄添加到Window系統的PATH環境變量中。重新啓動打開命令提示符,以使更改生效。
第一步:雙擊下載的 “node-v0.12.7-x64.msi" 文件,出現提示安裝界面:
第二步:選擇安裝目錄,這裏安裝在目錄 D:\yiibai_worksp\nodejs 中,如下圖:
第三步:選擇安裝的模塊和功能,這裏全部安裝,並添加到系統環境變量,如下圖所示:
最後一步:安裝完成!
驗證安裝:執行文件
創建一個js文件名爲test.js 在 D:\>yiibai_worksp\nodejs.
File: test.js
Js代碼 收藏代碼
console.log("Hello World")
現在運行test.js看到的結果:
Js代碼 收藏代碼
D:\yiibai_worksp\nodejs> node test.js
Node.js - 第一個應用程序
在使用 Node.js 創建 Hello World ! 應用程序之前, 讓我們看看Node.js的應用程序的組成部分。Node.js應用程序由以下三個重要部分組成:
導入所需模塊: 使用require指令來加載javascript模塊
創建一個服務器: 服務器這將聽監聽在Apache HTTP服務器客戶端的請求。
讀取請求並返回響應: 在前面的步驟中創建的服務器將響應讀取由客戶機發出的HTTP請求(可以是一個瀏覽器或控制檯)並返回響應。
創建Node.js應用
步驟 1:導入所需的包
使用require指令來加載 HTTP 模塊。
Js代碼 收藏代碼
var http = require("http")
步驟 2:使用http.createServer方法創建HTTP服務器。通過參數函數請求並響應。編寫示例實現返回“Hello World”。服務器在8081端口監聽。
http.createServer(function (request, response) {
// HTTP Status: 200 : OK
// Content Type: text/plain
response.writeHead(200, {‘Content-Type’: ‘text/plain’});
// send the response body as “Hello World”
response.end(‘Hello World\n’);
}).listen(8081);
// console will print the message
console.log(‘Server running at http://127.0.0.1:8081/‘);
步驟 3: 創建一個 js 文件在 helloworld.js 在 D:>yiibai_worksp.
File: helloworld.js
var http = require(“http”)
http.createServer(function (request, response) {
response.writeHead(200, {‘Content-Type’: ‘text/plain’});
response.end(‘Hello World\n’);
}).listen(8081);
console.log(‘Server running at http://127.0.0.1:8081/‘);
現在運行 helloworld.js 看到結果:
D:\yiibai_worksp\nodejs>node helloworld.js
驗證輸出,服務器應用已經啓動!
Server running at http://127.0.0.1:8081/
成功運行!