欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一步步教你使用node搭建一個(gè)小頁(yè)面

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

介紹

這個(gè)小demo是Node.js, Express, MongoDB & More: The Complete Bootcamp系列課程的第一個(gè)demo,本篇文章主要介紹實(shí)現(xiàn)過(guò)程以及可能帶來(lái)的思考。

完成展示

首頁(yè)

詳情頁(yè)面

前置知識(shí)

首先我們需要了解一些知識(shí),以便完成這個(gè)demo

fs

首先是node對(duì)文件的操作,也就是fs模塊。本文只介紹一些簡(jiǎn)單的操作,大部分是例子中需要用到的方法。想要了解更多可以去API文檔去查找。

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

readFileSync

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

上面代碼展示的是readFileSync的使用,兩個(gè)參數(shù)中,第一個(gè)參數(shù)是要讀取文件的位置,第二個(gè)參數(shù)是編碼格式encoding。如果指定encoding返回一個(gè)字符串,否則返回一個(gè)Buffer。

writeFileSync

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

writeFileSync毫無(wú)疑問(wèn)是寫(xiě)文件,第一個(gè)參數(shù)為寫(xiě)文件的地址,第二個(gè)參數(shù)是寫(xiě)入的內(nèi)容。

readFile、writeFile

上面的兩個(gè)API都是同步的讀寫(xiě)操作。但是nodeJs作為一個(gè)單線程的語(yǔ)言,在很多時(shí)候,使用同步的操作會(huì)造成不必要的擁堵。例如等待用戶輸入這類(lèi)I/O操作,就會(huì)浪費(fèi)很多時(shí)間。所以 js中有異步的方式解決這類(lèi)問(wèn)題,nodejs也一樣。通過(guò)回調(diào)的方式來(lái)解決。

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)建一個(gè)HTTP Server 對(duì)象,參數(shù)requestListener為每次服務(wù)器收到請(qǐng)求時(shí)要執(zhí)行的函數(shù)。

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

上面表代碼表示監(jiān)聽(tīng)8001端口。

url

url.parse

這個(gè)模塊可以很好的處理URL信息。比如當(dāng)我們請(qǐng)求http://127.0.0.1:8001/product?id=0的時(shí)候通過(guò)url.parse可以獲取到很多信息。如下圖:

實(shí)現(xiàn)過(guò)程

對(duì)于已經(jīng)給出的完成頁(yè)面,我們可以看到在切換頁(yè)面時(shí)URL的變化,所以我們需要得到用戶請(qǐng)求時(shí)的 URL地址,并根據(jù)地址展示不同的頁(yè)面。所以我們通過(guò)path模塊得到pathname,進(jìn)行處理。

對(duì)于不同的請(qǐng)求,我們返回不同的界面。首先對(duì)于Overview page界面,由于它的類(lèi)型是 html界面,所以我們通過(guò)writeHead將它的Content-type設(shè)置為text/html。

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

其他的幾個(gè)返回html的頁(yè)面也是同樣的處理。由于前端界面已經(jīng)給出,我們只需要讀取JSON里面的數(shù)據(jù),并將模板字符串替換即可。最后我們通過(guò)res.end(output)返回替換后的頁(yè)面。

總結(jié)

通過(guò)這一個(gè)小頁(yè)面的練習(xí),可以學(xué)習(xí)到node對(duì)文件的操作以及HTTP模塊的操作。并對(duì)后端有了初步的認(rèn)識(shí)。

到此這篇關(guān)于使用node搭建一個(gè)小頁(yè)面的文章就介紹到這了,更多相關(guān)node搭建小頁(yè)面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • windows下更新npm和node的方法

    windows下更新npm和node的方法

    本篇文章主要介紹了windows下更新npm和node的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 深入探究node之Transform

    深入探究node之Transform

    這篇文章主要介紹了深入探究node之Transform,本文深入內(nèi)部闡述Transform的運(yùn)行機(jī)理及使用技巧,有興趣的可以了解一下
    2017-07-07
  • 簡(jiǎn)單談?wù)刵ode.js 版本控制 nvm和 n

    簡(jiǎn)單談?wù)刵ode.js 版本控制 nvm和 n

    大量開(kāi)發(fā)者的貢獻(xiàn)使Node版本的迭代速度很快,版本很多(橫跨0.6到0.11),所以升級(jí)Node版本就成為了一個(gè)問(wèn)題。目前有n和nvm這兩個(gè)工具可以對(duì)Node進(jìn)行無(wú)痛升級(jí),本文簡(jiǎn)單介紹一下二者的使用。
    2015-10-10
  • node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter

    node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter

    我們了解到,Node采用了事件驅(qū)動(dòng)機(jī)制,而EventEmitter就是Node實(shí)現(xiàn)事件驅(qū)動(dòng)的基礎(chǔ),本文主要介紹了node.js自定義實(shí)現(xiàn)EventEmitter,感興趣的可以了解一下
    2021-07-07
  • 詳解node登錄接口之密碼錯(cuò)誤限制次數(shù)(含代碼)

    詳解node登錄接口之密碼錯(cuò)誤限制次數(shù)(含代碼)

    這篇文章主要介紹了nodejs登錄接口之密碼錯(cuò)誤限制次數(shù)(含代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Node.js中npx命令的使用方法及場(chǎng)景分析

    Node.js中npx命令的使用方法及場(chǎng)景分析

    NPM(Node Package Manager) 是Node.js提供的一個(gè)包管理器, 可以使用 NPM 來(lái)安裝 node.js 包 ,npm 是從5.2版開(kāi)始, 增加(自帶)了 npx 命令,本文給大家分享Node.js npx命令使用,需要的朋友一起看看吧
    2021-08-08
  • node+experss實(shí)現(xiàn)爬取電影天堂爬蟲(chóng)

    node+experss實(shí)現(xiàn)爬取電影天堂爬蟲(chóng)

    本文給大家分享的是node+experss制作爬蟲(chóng)的第二篇,我們來(lái)爬取電影天堂最新更新的電影迅雷下載鏈接,有需要的小伙伴可以參考下
    2016-11-11
  • express中static中間件的具體使用方法

    express中static中間件的具體使用方法

    這篇文章主要介紹了express中static中間件的具體使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • NodeJS和瀏覽器中this關(guān)鍵字的不同之處

    NodeJS和瀏覽器中this關(guān)鍵字的不同之處

    這篇文章主要給大家介紹了關(guān)于NodeJS和瀏覽器中this關(guān)鍵字不同的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 使用node打造自己的命令行工具方法教程

    使用node打造自己的命令行工具方法教程

    這篇文章主要介紹了使用node打造自己的命令行工具方法教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論