Node.js 教程
如果我們使用 PHP 來編寫后端的代碼時,需要 Apache 或者 Nginx 的 HTTP 服務(wù)器,并配上 mod_php5 模塊和 php-cgi。
從這個角度看,整個"接收 HTTP 請求并提供 Web 頁面"的需求就不需要 PHP 來處理。
不過對 Node.js 來說,概念完全不一樣了。使用 Node.js 時,我們不僅僅 在實現(xiàn)一個應(yīng)用,同時還實現(xiàn)了整個 HTTP 服務(wù)器。事實上,我們的 Web 應(yīng)用以及對應(yīng)的 Web 服務(wù)器基本上是一樣的。
在我們創(chuàng)建 Node.js 第一個 "Hello, World!" 應(yīng)用前,讓我們先了解下 Node.js 應(yīng)用是由哪幾部分組成的:
引入 required 模塊:我們可以使用 require 指令來載入 Node.js 模塊。
創(chuàng)建服務(wù)器:服務(wù)器可以監(jiān)聽客戶端的請求,類似于 Apache 、Nginx 等 HTTP 服務(wù)器。
接收請求與響應(yīng)請求 服務(wù)器很容易創(chuàng)建,客戶端可以使用瀏覽器或終端發(fā)送 HTTP 請求,服務(wù)器接收請求后返回響應(yīng)數(shù)據(jù)。
我們使用 require 指令來載入 http 模塊,并將實例化的 HTTP 賦值給變量 http,實例如下:
var http = require("http");
接下來我們使用 http.createServer() 方法創(chuàng)建服務(wù)器,并使用 listen 方法綁定 8888 端口。 函數(shù)通過 request, response 參數(shù)來接收和響應(yīng)數(shù)據(jù)。
實例如下,在你項目的根目錄下創(chuàng)建一個叫 server.js 的文件,并寫入以下代碼:
var http = require('http'); http.createServer(function (request, response) { ????// 發(fā)送 HTTP 頭部 ????// HTTP 狀態(tài)值: 200 : OK ????// 內(nèi)容類型: text/plain ????response.writeHead(200, {'Content-Type': 'text/plain'}); ????// 發(fā)送響應(yīng)數(shù)據(jù) "Hello World" ????response.end('Hello Worldn'); }).listen(8888); // 終端打印如下信息 console.log('Server running at http://127.0.0.1:8888/');
以上代碼我們完成了一個可以工作的 HTTP 服務(wù)器。
使用 node 命令執(zhí)行以上的代碼:
node server.js Server running at http://127.0.0.1:8888/
接下來,打開瀏覽器訪問 http://127.0.0.1:8888/,你會看到一個寫著 "Hello World"的網(wǎng)頁。
分析Node.js 的 HTTP 服務(wù)器:
接下來我們通過 Gif 圖為大家演示實例操作: