首頁 > 軟體

一步步教你使用node搭建一個小頁面

2022-12-01 14:02:28

介紹

這個小demo是Node.js, Express, MongoDB & More: The Complete Bootcamp系列課程的第一個demo,本篇文章主要介紹實現過程以及可能帶來的思考。

完成展示

首頁

詳情頁面

前置知識

首先我們需要了解一些知識,以便完成這個demo

fs

首先是node對檔案的操作,也就是fs模組。本文只介紹一些簡單的操作,大部分是例子中需要用到的方法。想要了解更多可以去API檔案去查詢。

首先引入fs模組:const fs = require("fs");

readFileSync

const textIn = fs.readFileSync("./txt/append.txt", "utf-8");

上面程式碼展示的是readFileSync的使用,兩個引數中,第一個引數是要讀取檔案的位置,第二個引數是編碼格式encoding。如果指定encoding返回一個字串,否則返回一個Buffer

writeFileSync

fs.writeFileSync("./txt/output.txt", textOut);

writeFileSync毫無疑問是寫檔案,第一個引數為寫檔案的地址,第二個引數是寫入的內容。

readFile、writeFile

上面的兩個API都是同步的讀寫操作。但是nodeJs作為一個單執行緒的語言,在很多時候,使用同步的操作會造成不必要的擁堵。例如等待使用者輸入這類I/O操作,就會浪費很多時間。所以 js中有非同步的方式解決這類問題,nodejs也一樣。通過回撥的方式來解決。

fs.readFile("./txt/append.txt", "utf-8", (err, data) => {
  fs.writeFile("./txt/final.txt", `${data}`, (err) => {
    console.log("ok");
  });
});

http

createServer

http.createServer(requestListener);

http.createServer() 方法建立一個HTTP Server 物件,引數requestListener為每次伺服器收到請求時要執行的函數。

server.listen(8001, "127.0.0.1", () => {
  console.log("Listening to requests on port 8001");
});

上面表程式碼錶示監聽8001埠。

url

url.parse

這個模組可以很好的處理URL資訊。比如當我們請求http://127.0.0.1:8001/product?id=0的時候通過url.parse可以獲取到很多資訊。如下圖:

實現過程

對於已經給出的完成頁面,我們可以看到在切換頁面時URL的變化,所以我們需要得到使用者請求時的 URL地址,並根據地址展示不同的頁面。所以我們通過path模組得到pathname,進行處理。

對於不同的請求,我們返回不同的介面。首先對於Overview page介面,由於它的型別是 html介面,所以我們通過writeHead將它的Content-type設定為text/html

res.writeHead(200, {
      "Content-type": "text/html",
});

其他的幾個返回html的頁面也是同樣的處理。由於前端介面已經給出,我們只需要讀取JSON裡面的資料,並將模板字串替換即可。最後我們通過res.end(output)返回替換後的頁面。

總結

通過這一個小頁面的練習,可以學習到node對檔案的操作以及HTTP模組的操作。並對後端有了初步的認識。

到此這篇關於使用node搭建一個小頁面的文章就介紹到這了,更多相關node搭建小頁面內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com