在Node中,模組主要分兩大類:核心模組和檔案模組。核心模組部分在 Node 原始碼的編譯過程中,編譯進了二進位制執行檔案。在 Node 進啟動時,部分核心模組就被直接載入進記憶體中,所以這部分核心模組引入時,檔案定位和編譯執行這兩個步驟可以省略掉,並且在路徑分析中優先判斷,所以它的載入速度是最快的。如:HTTP 模組 、URL 模組、Fs 模組都是 nodejs 內建的核心模組,可以直接引入使用。

http模組

在我們使用PHP編寫後臺程式碼的時候,通常需要Apache或者ngnix的http來處理客戶端的請求響應。不過對node.js來說,概念完全不一樣了,使用Node.js時,我們既能實現一個應用,也能實現整個http伺服器。

基本使用

1,使用http模組的時候,首先需要引入該模組

2,然後使用createServer建立一個伺服器,

3,並且監聽埠

最後執行程式:開啟終端,切換到檔案的根目錄,執行命令node 檔名再回車就可以了。

程式啟動後,在瀏覽器中開啟http://localhost:8888/,就會在終端中看到相關的列印

此時,我們會發現瀏覽器的位址列出一直處於載入狀態,因此需要在伺服器的回撥函式中執行end方法來是web伺服器停止處理指令碼並返回當前結果。

另外,在上面,我們使用的是預設的localhost,但是有的時候,localhost是被佔用了,需要使用其他的IP來執行,只需要在監聽埠處新增IP作為第二個引數就可以了。

這裡預設會有兩個請求,第二個是位址列圖示的請求。

新增響應

在上面的回撥函式中使用到了兩個引數:req表示請求,res表示響應,如果要給請求新增響應,首先需要設定一個響應頭,在這個響應頭中指定http狀態碼,檔案型別和字符集

然後使用write新增響應內容

完整程式碼如下

既然req是表示請求,裡面最重要的就是req.url了,通過req.url拿到了使用者的請求地址後,如何解析出我們想要的資料,就需要用到URL模組了。

URL模組

和使用http模組一樣,使用URL模組,也是需要先引入再使用,在URL模組中,主要有一下三個方法會經常被用到。

url.parse()

這個方法主要用來解析URL

在上面的http模組中已經提到了,每次都會發出兩個請求:IP請求和圖示請求,所以下面過濾一下圖片請求,然後新增一個複雜的請求。

此時,雖然我們打印出了請求的使用者名稱和密碼,但是如果想要獲取這些資訊,還需要在url.parse中新增第二個引數,將query裡面的欄位格式化。

url.format()

url.format()是url.parse()的逆操作。

執行程式,重新整理瀏覽器,就可以看到終端的列印

url.resolve()

url.resolve()方法用於新增或者替換地址。