最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年11月30日 15:55:44   作者:Yuki_  
最近使用NodeJs搭建的小型web應用,所以下面這篇文章主要給大家介紹了關于使用node搭建一個小頁面的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

介紹

這個小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() 方法創(chuàng)建一個HTTP Server 對象,參數requestListener為每次服務器收到請求時要執(zhí)行的函數。

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

上面表代碼表示監(jiān)聽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搭建小頁面內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • nodejs實現遍歷文件夾并統計文件大小

    nodejs實現遍歷文件夾并統計文件大小

    這篇文章主要介紹了nodejs實現遍歷文件夾并統計文件大小,下面使用nodejs的遍歷文件夾文件內容,并且讀取所有的文件,并采取排序往大到小的順序進行輸出,需要的朋友可以參考下
    2015-05-05
  • 解決Node.js使用MySQL出現connect ECONNREFUSED 127.0.0.1:3306的問題

    解決Node.js使用MySQL出現connect ECONNREFUSED 127.0.0.1:3306的問題

    這篇文章主要介紹了解決Node.js使用MySQL出現connect ECONNREFUSED 127.0.0.1:3306報錯的相關資料,文中將問題描述的很清楚,解決的方法也介紹的很完整,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • node.js中的querystring.stringify方法使用說明

    node.js中的querystring.stringify方法使用說明

    這篇文章主要介紹了node.js中的querystring.stringify方法使用說明,本文介紹了querystring.stringify的方法說明、語法、接收參數、使用實例和實現源碼,需要的朋友可以參考下
    2014-12-12
  • 淺談關于axios和session的一些事

    淺談關于axios和session的一些事

    這篇文章主要給大家介紹了關于axios和session的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看詳細的介紹吧。
    2017-07-07
  • 深入解析Node.js中save-dev命令的具體使用

    深入解析Node.js中save-dev命令的具體使用

    本文詳細介紹了npm的--save-dev選項及其在前端開發(fā)中的應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • Node.js console控制臺簡單用法分析

    Node.js console控制臺簡單用法分析

    這篇文章主要介紹了Node.js console控制臺簡單用法,結合實例形式分析了nodejs console控制臺功能、常見函數與簡單使用技巧,需要的朋友可以參考下
    2019-01-01
  • 深入淺析Node.js 事件循環(huán)

    深入淺析Node.js 事件循環(huán)

    Node.js 是單進程單線程應用程序,但是通過事件和回調支持并發(fā),所以性能非常高,本文給大家介紹nodejs事件循環(huán)相關知識,對此感興趣的朋友快來學習吧
    2015-12-12
  • Node.js中如何合并兩個復雜對象詳解

    Node.js中如何合并兩個復雜對象詳解

    下面這篇文章主要給大家介紹了在Node.js中如何合并兩個復雜對象的方法,文中給出了詳細的示例代碼,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友可以參考,下面來一起看看吧。
    2016-12-12
  • Nodejs?Docker鏡像體積優(yōu)化實踐詳解

    Nodejs?Docker鏡像體積優(yōu)化實踐詳解

    這篇文章主要為大家介紹了Nodejs?Docker鏡像體積優(yōu)化實踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • express中創(chuàng)建 websocket 接口及問題解答

    express中創(chuàng)建 websocket 接口及問題解答

    本文主要介紹了express中創(chuàng)建 websocket 接口及問題解答,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05

最新評論

安塞县| 永嘉县| 洪洞县| 惠来县| 浪卡子县| 乌拉特中旗| 大同县| 白城市| 临朐县| 鹰潭市| 桦南县| 彭阳县| 洛川县| 鄢陵县| 平陆县| 探索| 资阳市| 林州市| 通辽市| 上思县| 同江市| 宜良县| 泰和县| 石嘴山市| 新化县| 滦平县| 临澧县| SHOW| 修武县| 西畴县| 莱芜市| 壤塘县| 时尚| 涡阳县| 大关县| 长子县| 赣州市| 长沙市| 双柏县| 屯门区| 玉田县|