Latest web development tutorials

Node.js 創建第一個應用

如果我們使用PHP來編寫後端的代碼時,需要Apache 或者Nginx 的HTTP 服務器,並配上mod_php5 模塊和php-cgi。

從這個角度看,整個"接收HTTP 請求並提供Web 頁面"的需求根本不需要PHP 來處理。

不過對Node.js 來說,概念完全不一樣了。 使用Node.js 時,我們不僅僅在實現一個應用,同時還實現了整個HTTP 服務器。 事實上,我們的Web 應用以及對應的Web 服務器基本上是一樣的。

在我們創建Node.js 第一個"Hello, World!" 應用前,讓我們先了解下Node.js 應用是由哪幾部分組成的:

  1. 引入required模塊:我們可以使用require指令來載入Node.js模塊。

  2. 創建服務器:服務器可以監聽客戶端的請求,類似於Apache 、Nginx等HTTP服務器。

  3. 接收請求與響應請求服務器很容易創建,客戶端可以使用瀏覽器或終端發送HTTP請求,服務器接收請求後返迴響應數據。


創建Node.js 應用

步驟一、引入required 模塊

我們使用require指令來載入http模塊,並將實例化的HTTP賦值給變量http,實例如下:

var http = require("http");

步驟一、創建服務器

接下來我們使用http.createServer() 方法創建服務器,並使用listen 方法綁定8888 端口。 函數通過request, response 參數來接收和響應數據。

實例如下,在你項目的根目錄下創建一個叫server.js 的文件,並寫入以下代碼:

var http = require('http');

http.createServer(function (request, response) {

	// 发送 HTTP 头部 
	// HTTP 状态值: 200 : OK
	// 内容类型: text/plain
	response.writeHead(200, {'Content-Type': 'text/plain'});

	// 发送响应数据 "Hello World"
	response.end('Hello World\n');
}).listen(8888);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

以上代碼我們完成了一個可以工作的HTTP 服務器。

使用node命令執行以上的代碼:

node server.js
Server running at http://127.0.0.1:8888/

cmdrun

接下來,打開瀏覽器訪問http://127.0.0.1:8888/,你會看到一個寫著"Hello World"的網頁。

nodejs-helloworld

分析Node.js的HTTP服務器:

  • 第一行請求(require)Node.js 自帶的http 模塊,並且把它賦值給http 變量。
  • 接下來我們調用http 模塊提供的函數: createServer 。 這個函數會返回一個對象,這個對像有一個叫做listen 的方法,這個方法有一個數值參數, 指定這個HTTP 服務器監聽的端口號。

Gif 實例演示

接下來我們通過Gif 圖為大家演示實例操作: