溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

node.js怎么構(gòu)建web服務(wù)器

發(fā)布時(shí)間:2022-08-08 10:52:26 來源:億速云 閱讀:187 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“node.js怎么構(gòu)建web服務(wù)器”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“node.js怎么構(gòu)建web服務(wù)器”文章能幫助大家解決問題。

使用node.js構(gòu)建一個(gè)web服務(wù)器

先介紹node.js的安裝,再介紹使用node.js構(gòu)建一個(gè)簡(jiǎn)單的web服務(wù)器,最后通過一個(gè)簡(jiǎn)單的示例,演示網(wǎng)頁與服務(wù)器之間的數(shù)據(jù)交互的實(shí)現(xiàn)。

WEB服務(wù)器

WEB服務(wù)器也稱為WWW服務(wù)器。WWW(World Wide Web、翻譯成中文:萬維網(wǎng)或環(huán)球信息網(wǎng))服務(wù)器的基本功能就是提供Web信息瀏覽服務(wù)。Web服務(wù)器可以向Web瀏覽器等客戶端提供文檔,也可以放置網(wǎng)站文件,讓全世界瀏覽,更可以放置數(shù)據(jù)文件,讓全世界下載。

常見的Web服務(wù)器軟件有Apache、Internet信息服務(wù)器(Internet Information Services,IIS)等。

Apache服務(wù)器:Apache服務(wù)器是一款開源免費(fèi)的服務(wù)器軟件,幾乎可以在所以有的計(jì)算機(jī)平臺(tái)上運(yùn)行,由于Apache是開源,因此所有人都可以參與開發(fā)新功能,并且不斷對(duì)Apache服務(wù)器進(jìn)行完善。Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁,它是一個(gè)模塊化的服務(wù)器,可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上(即支持多平臺(tái))。其屬于應(yīng)用服務(wù)器。

IIS服務(wù)器:IIS服務(wù)器是微軟的服務(wù)器,可允許IIS在公共Intranet或Internet上發(fā)布相信的Web服務(wù)器。IIS只能在微軟公司的windows操作系統(tǒng)下使用。

不依賴前面提到的Web服務(wù)軟件,使用Node.js 也能搭建Web服務(wù)器。

Node.js是什么?

簡(jiǎn)單地說,Node.js 是一種開源且跨平臺(tái)的服務(wù)器端 JavaScript 運(yùn)行時(shí)環(huán)境,并可以讓 JavaScript 做后端。

在Windows 上安裝 Node.js

要使用Node.js 需要安裝之。

要使用Node.js 需要安裝之。先到nodejs官網(wǎng) Node.js 或到中文網(wǎng)站下載 | Node.js 中文網(wǎng)  下載

LTS代表“長(zhǎng)期支持”,建議大多數(shù)用戶使用這種版本。我下載的是node-v14.18.1-x64.msi

雙擊下載后的安裝包 直接安裝就可以了,可以自定義路徑。安裝時(shí)會(huì)自動(dòng)配置環(huán)境變量(默認(rèn)自動(dòng)將安裝路徑添加path環(huán)境變量)。為了照顧新手,下面詳細(xì)演示安裝過程。

雙擊下載后的安裝包 安裝,如下所示

node.js怎么構(gòu)建web服務(wù)器

點(diǎn)擊Next按鈕,將出現(xiàn)如下界面:

node.js怎么構(gòu)建web服務(wù)器

勾選接受協(xié)議可選項(xiàng),點(diǎn)擊 next 按鈕 ,將出現(xiàn)如下界面:

node.js怎么構(gòu)建web服務(wù)器

Node.js默認(rèn)安裝目錄為 "C:\Program Files\nodejs\" ,可以修改目錄(我修改了盤符D),然后點(diǎn)擊 next按鈕,將出現(xiàn)如下界面:

node.js怎么構(gòu)建web服務(wù)器

你可以點(diǎn)擊樹形圖標(biāo)節(jié)點(diǎn)來選擇你需要的安裝模式 , 在此保持默認(rèn)不變,點(diǎn)擊下一步 next按鈕,將出現(xiàn)如下界面:

node.js怎么構(gòu)建web服務(wù)器

如果要安裝工具來編譯本機(jī)模塊,請(qǐng)單擊復(fù)選框。通常,不需要安裝這些工具,因此不必選中此框,點(diǎn)擊next按鈕,將出現(xiàn)如下界面:

node.js怎么構(gòu)建web服務(wù)器

單擊Install(安裝)按鈕開始安裝Node.js,將出現(xiàn)如下界面:

node.js怎么構(gòu)建web服務(wù)器

請(qǐng)稍等一會(huì),將出現(xiàn)如下界面:

node.js怎么構(gòu)建web服務(wù)器

此時(shí),單擊Finish(完成)按鈕退出設(shè)置向?qū)А?/p>

安裝完后的目錄如下圖所示:

node.js怎么構(gòu)建web服務(wù)器

你將看到目錄中有npm.cmd,它是什么?

安裝Node.js時(shí)將同時(shí)自動(dòng)安裝npm,它是node包(模塊)管理工具,能解決Node.js代碼部署上的很多問題,常見的使用場(chǎng)景有以下幾種:

允許用戶從NPM服務(wù)器下載別人編寫的第三方包到本地使用。

允許用戶從NPM服務(wù)器下載并安裝別人編寫的命令行程序到本地使用。

允許用戶將自己編寫的包或命令行程序上傳到NPM服務(wù)器供別人使用。

如果你安裝的是舊版本的 npm,可以很容易得通過 npm 命令來升級(jí),Window 系統(tǒng)使用以下命令即可:

npm install npm -g

使用npm包管理工具安裝第三方庫(kù)(npm包),有兩種安裝方式:全局安裝和局部安裝:

從敲的命令行來看,差別只是有沒有-g而已,如

npm install X      # 局部(本地)安裝,則是將模塊下載到當(dāng)前命令行所在目錄。可能會(huì)遇到 “'X' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序”錯(cuò)誤。
npm install X -g   # 全局安裝,可以直接在命令行里使用。

檢查是否正確安裝了Node.js和npm

win+r打開運(yùn)行,輸入cmd后進(jìn)入命令行界面。然后輸入node -v和npm -v命令進(jìn)行node的版本號(hào)和npm的版本號(hào)的查看。參見下圖:

node.js怎么構(gòu)建web服務(wù)器

正確顯示了版本號(hào),OK!

使用node.js構(gòu)建一個(gè)簡(jiǎn)單的web服務(wù)器

在你項(xiàng)目的目錄(這里以D:\測(cè)試文件夾為例)中創(chuàng)建一個(gè)叫myServer.js 的文件,并寫入以下代碼:

var http = require('http');
http.createServer(function (request, response) {
    // 發(fā)送 HTTP 頭部
    // HTTP 狀態(tài)值: 200 : OK
    // 內(nèi)容類型: text/plain。并用charset=UTF-8解決輸出中文亂碼
    response.writeHead(200, {'Content-Type': 'text/plain; charset=UTF-8'});

    // 下句是發(fā)送響應(yīng)數(shù)據(jù)
    response.end('Hello World! 這是簡(jiǎn)單的web服務(wù)器測(cè)試。\n');
}).listen(8888);
// 終端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

說明:其中var http = require("http"); 使用 require 指令來載入 http 模塊,并將實(shí)例化的 HTTP 賦值給變量 http。

編寫了.js的程序,運(yùn)行的時(shí)候就要通過node.js來運(yùn)行了,在CMD中先切換到編寫程序的目錄下,然后用node XXX.js即可啟動(dòng)服務(wù),若不先切換路徑,則用node 路徑\XXX.js啟動(dòng)服務(wù)。然后在瀏覽器中輸入相應(yīng)的監(jiān)聽I(yíng)P地址加上端口號(hào),這里的端口號(hào)使用比較大一點(diǎn)的就可以,因?yàn)槭腔丨h(huán)測(cè)試,所以使用127.0.0.1來作為測(cè)試IP。

使用 node D:\測(cè)試文件夾\myServer.js,參見下圖:

node.js怎么構(gòu)建web服務(wù)器

簡(jiǎn)單例子運(yùn)行成功了,這其實(shí)是用node.js搭建了一個(gè)服務(wù)器,然后來監(jiān)聽端口的訪問事件,最后做出相應(yīng)的回應(yīng),需要指出的是,當(dāng)我們關(guān)閉CMD或按CTRL+C鍵之后服務(wù)就關(guān)閉了。

現(xiàn)在,打開瀏覽器訪問 http://127.0.0.1:8888/,你會(huì)看如下的網(wǎng)頁:

node.js怎么構(gòu)建web服務(wù)器

成功了!

網(wǎng)頁與服務(wù)器之間的數(shù)據(jù)交互示例

現(xiàn)在通過一個(gè)簡(jiǎn)單的示例,演示網(wǎng)頁與服務(wù)器之間的數(shù)據(jù)交互的實(shí)現(xiàn)。

這個(gè)例子有兩部分:服務(wù)器代碼和網(wǎng)頁代碼

服務(wù)器代碼如下:

//require表示引包,引包就是引用自己的一個(gè)特殊功能
 var http = require("http");
 var url = require("url");
 var server = http.createServer(function(req,res){
    //得到查詢部分,由于寫了true,那么就是一個(gè)對(duì)象
     var queryObj = url.parse(req.url,true).query;
     var name = queryObj.name;
     var age = queryObj.age;
     var sex = queryObj.sex;
     res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
     res.end("服務(wù)器收到了表單請(qǐng)求" + name + age + sex);
 });

 //運(yùn)行服務(wù)器,監(jiān)聽3000端口(端口號(hào)可以任改)
 server.listen(3000,"127.0.0.1");

 // 終端打印如下信息
 console.log('Server running at http://127.0.0.1:3000/')

保存文件名為server2.js ,項(xiàng)目的目錄(這里以D:\測(cè)試文件夾為例)中

使用 node D:\測(cè)試文件夾\Server2.js運(yùn)行:

node.js怎么構(gòu)建web服務(wù)器

網(wǎng)頁代碼如下:

<!DOCTYPE html>
  <html >
  <head>
      <meta charset="UTF-8">
      <title>與服務(wù)端交互網(wǎng)頁</title>
  </head>
  <body>
      <form action="http://127.0.0.1:3000/" method="GET">
          姓名:
          <input type="text" name="name" /> <br />
         年齡:
         <input type="text" name="age" /> <br />
         <input type="radio" name="sex" value="男"/> 男
         <input type="radio" name="sex" value="女"/> 女
         <br />
         <input type="submit">
     </form>
 </body>
 </html>

保存文件名為 與服務(wù)端交互示例.html ,用瀏覽器運(yùn)行:

node.js怎么構(gòu)建web服務(wù)器

關(guān)于“node.js怎么構(gòu)建web服務(wù)器”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI