Node.js 建立 Web 伺服器
Node.js 框架主要用於建立基於伺服器的應用程式。該框架可以輕鬆地用於建立可以向使用者提供內容的 Web 伺服器。
已經存在各種模組,例如 http
和 request
模組,來有助於在 web 伺服器空間中處理與伺服器相關的請求。我們將瞭解如何使用 Node.js 建立基本 Web 伺服器應用程式。
Node 作為 HTTP Web 伺服器
讓我們看一下如何建立和執行我們的第一個 Node.js 應用程式的示例。
我們的應用程式將建立一個簡單的伺服器模組,它將偵聽埠號 7000。如果通過此埠上的瀏覽器發出請求,則伺服器應用程式將向客戶端傳送 Hello World
響應。
var http=require('http')
var server=http.createServer ((function (request, response)
{
response.writeHead (200,
{ "Content-Type": "text/plain"});
response.end ("Hello World\n");
}));
server.listen (7000);
程式碼說明:
- require 函式的基本功能是它讀取[JavaScript](/ interactive-javascript-tutorials.html)檔案,執行該檔案,然後繼續返回 exports 物件。所以在我們的例子中,由於我們想要使用 http 模組的功能,我們使用 require 函式從 http 模組獲取所需的函式,以便它可以在我們的應用程式中使用。
- 在這行程式碼中,我們正在建立一個基於簡單函式的伺服器應用程式。只要向我們的伺服器應用程式發出請求,就會呼叫此函式。
- 收到請求後,我們要傳送標頭型別為
200
的響應。此數字是在向客戶端傳送成功響應時在 http 標頭中傳送的正常響應。 - 在響應本身中,我們傳送字串
Hello World
。 - 然後我們使用
server.listen
函式使我們的伺服器應用程式在埠號7000
上偵聽客戶端請求。你可以在此處指定任何可用埠。
如果命令執行成功,則在瀏覽器中執行程式碼時將顯示出 Hello World
- 你可以清楚地看到,如果我們瀏覽到埠 7000 上的 localhost 的 URL,你將在頁面中看到字串
Hello World
。 - 因為在我們的程式碼中我們專門提到伺服器要偵聽埠號 7000,我們能夠在瀏覽到這個 URL 時檢視輸出。
在 Node.js 中處理 GET 請求
在 Node.js 中進行 GET 請求從另一個站點獲取資料相對非常簡單。要在節點中發出 Get 請求,我們需要先安裝 request
模組。這可以通過在命令列中執行以下行來完成
npm install request
上面的命令請求 Node 包管理器下載所需的 request
求模組並相應地安裝它們。
成功安裝 npm 模組後,命令列將顯示已安裝的模組名稱和版本:<name>@<version>
。比如,
request@2.67.0 node_modules\request
在上面的快照中,你可以看到已下載並安裝了 request
模組以及版本號 2.67.0。
現在讓我們看看可以使用這個 request
命令的程式碼。
var request = require("request");
request("http://www.google.com",function(error,response,body)
{
console.log(body);
});
程式碼說明:
- 我們正在使用最後一步安裝的
require
模組。該模組具有可用於向網站發出 GET 請求的必要函式。 - 我們正在向 www.google.com 提出 GET 請求,並在收到回覆後呼叫函式。收到響應後,引數(錯誤,響應和正文)將具有以下值
- Error 錯誤 - 如果在使用 GET 請求時收到任何錯誤,將在此處記錄。
- Response 響應 - 響應將具有在響應中發回的 http 標頭。
- Body 正文 - 正文將包含 Google 傳送的回覆的全部內容。
- 在這裡,我們只是將 body 引數中收到的內容寫入 console.log 檔案。所以基本上,無論我們通過** www.google.com** 獲得什麼,都會被寫入 console.log。
本節概要
- Node.js 框架可用於使用
http
模組開發 Web 伺服器。可以使應用程式偵聽特定埠,並在嚮應用程式發出請求時向客戶端傳送響應。 request
模組可用於從網站獲取資訊。該資訊將包含從相關網站請求的網頁的全部內容。