這篇文章主要介紹“node.js怎么構(gòu)建web服務(wù)器”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“node.js怎么構(gòu)建web服務(wù)器”文章能幫助大家解決問(wèn)題。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),普蘭企業(yè)網(wǎng)站建設(shè),普蘭品牌網(wǎng)站建設(shè),網(wǎng)站定制,普蘭網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,普蘭網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
先介紹node.js的安裝,再介紹使用node.js構(gòu)建一個(gè)簡(jiǎn)單的web服務(wù)器,最后通過(guò)一個(gè)簡(jiǎn)單的示例,演示網(wǎng)頁(yè)與服務(wù)器之間的數(shù)據(jù)交互的實(shí)現(xiàn)。
WEB服務(wù)器
WEB服務(wù)器也稱為WWW服務(wù)器。WWW(World Wide Web、翻譯成中文:萬(wàn)維網(wǎng)或環(huán)球信息網(wǎng))服務(wù)器的基本功能就是提供Web信息瀏覽服務(wù)。Web服務(wù)器可以向Web瀏覽器等客戶端提供文檔,也可以放置網(wǎng)站文件,讓全世界瀏覽,更可以放置數(shù)據(jù)文件,讓全世界下載。
常見(jiàn)的Web服務(wù)器軟件有Apache、Internet信息服務(wù)器(Internet Information Services,IIS)等。
Apache服務(wù)器:Apache服務(wù)器是一款開(kāi)源免費(fèi)的服務(wù)器軟件,幾乎可以在所以有的計(jì)算機(jī)平臺(tái)上運(yùn)行,由于Apache是開(kāi)源,因此所有人都可以參與開(kāi)發(fā)新功能,并且不斷對(duì)Apache服務(wù)器進(jìn)行完善。Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開(kāi)放源碼的網(wǎng)頁(yè),它是一個(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)單地說(shuō),Node.js 是一種開(kāi)源且跨平臺(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ì)演示安裝過(guò)程。
雙擊下載后的安裝包 安裝,如下所示
點(diǎn)擊Next按鈕,將出現(xiàn)如下界面:
勾選接受協(xié)議可選項(xiàng),點(diǎn)擊 next 按鈕 ,將出現(xiàn)如下界面:
Node.js默認(rèn)安裝目錄為 "C:\Program Files\nodejs\" ,可以修改目錄(我修改了盤(pán)符D),然后點(diǎn)擊 next按鈕,將出現(xiàn)如下界面:
你可以點(diǎn)擊樹(shù)形圖標(biāo)節(jié)點(diǎn)來(lái)選擇你需要的安裝模式 , 在此保持默認(rèn)不變,點(diǎn)擊下一步 next按鈕,將出現(xiàn)如下界面:
如果要安裝工具來(lái)編譯本機(jī)模塊,請(qǐng)單擊復(fù)選框。通常,不需要安裝這些工具,因此不必選中此框,點(diǎn)擊next按鈕,將出現(xiàn)如下界面:
單擊Install(安裝)按鈕開(kāi)始安裝Node.js,將出現(xiàn)如下界面:
請(qǐng)稍等一會(huì),將出現(xiàn)如下界面:
此時(shí),單擊Finish(完成)按鈕退出設(shè)置向?qū)А?/p>
安裝完后的目錄如下圖所示:
你將看到目錄中有npm.cmd,它是什么?
安裝Node.js時(shí)將同時(shí)自動(dòng)安裝npm,它是node包(模塊)管理工具,能解決Node.js代碼部署上的很多問(wèn)題,常見(jiàn)的使用場(chǎng)景有以下幾種:
允許用戶從NPM服務(wù)器下載別人編寫(xiě)的第三方包到本地使用。
允許用戶從NPM服務(wù)器下載并安裝別人編寫(xiě)的命令行程序到本地使用。
允許用戶將自己編寫(xiě)的包或命令行程序上傳到NPM服務(wù)器供別人使用。
如果你安裝的是舊版本的 npm,可以很容易得通過(guò) npm 命令來(lái)升級(jí),Window 系統(tǒng)使用以下命令即可:
npm install npm -g
使用npm包管理工具安裝第三方庫(kù)(npm包),有兩種安裝方式:全局安裝和局部安裝:
從敲的命令行來(lái)看,差別只是有沒(méi)有-g而已,如
npm install X # 局部(本地)安裝,則是將模塊下載到當(dāng)前命令行所在目錄。可能會(huì)遇到 “'X' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序”錯(cuò)誤。 npm install X -g # 全局安裝,可以直接在命令行里使用。
檢查是否正確安裝了Node.js和npm
win+r打開(kāi)運(yùn)行,輸入cmd后進(jìn)入命令行界面。然后輸入node -v和npm -v命令進(jìn)行node的版本號(hào)和npm的版本號(hào)的查看。參見(jiàn)下圖:
正確顯示了版本號(hào),OK!
使用node.js構(gòu)建一個(gè)簡(jiǎn)單的web服務(wù)器
在你項(xiàng)目的目錄(這里以D:\測(cè)試文件夾為例)中創(chuàng)建一個(gè)叫myServer.js 的文件,并寫(xiě)入以下代碼:
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/');
說(shuō)明:其中var http = require("http"); 使用 require 指令來(lái)載入 http 模塊,并將實(shí)例化的 HTTP 賦值給變量 http。
編寫(xiě)了.js的程序,運(yùn)行的時(shí)候就要通過(guò)node.js來(lái)運(yùn)行了,在CMD中先切換到編寫(xiě)程序的目錄下,然后用node XXX.js即可啟動(dòng)服務(wù),若不先切換路徑,則用node 路徑\XXX.js啟動(dòng)服務(wù)。然后在瀏覽器中輸入相應(yīng)的監(jiān)聽(tīng)I(yíng)P地址加上端口號(hào),這里的端口號(hào)使用比較大一點(diǎn)的就可以,因?yàn)槭腔丨h(huán)測(cè)試,所以使用127.0.0.1來(lái)作為測(cè)試IP。
使用 node D:\測(cè)試文件夾\myServer.js,參見(jiàn)下圖:
簡(jiǎn)單例子運(yùn)行成功了,這其實(shí)是用node.js搭建了一個(gè)服務(wù)器,然后來(lái)監(jiān)聽(tīng)端口的訪問(wèn)事件,最后做出相應(yīng)的回應(yīng),需要指出的是,當(dāng)我們關(guān)閉CMD或按CTRL+C鍵之后服務(wù)就關(guān)閉了。
現(xiàn)在,打開(kāi)瀏覽器訪問(wèn) http://127.0.0.1:8888/,你會(huì)看如下的網(wǎng)頁(yè):
成功了!
網(wǎng)頁(yè)與服務(wù)器之間的數(shù)據(jù)交互示例
現(xiàn)在通過(guò)一個(gè)簡(jiǎn)單的示例,演示網(wǎng)頁(yè)與服務(wù)器之間的數(shù)據(jù)交互的實(shí)現(xiàn)。
這個(gè)例子有兩部分:服務(wù)器代碼和網(wǎng)頁(yè)代碼
服務(wù)器代碼如下:
//require表示引包,引包就是引用自己的一個(gè)特殊功能 var http = require("http"); var url = require("url"); var server = http.createServer(function(req,res){ //得到查詢部分,由于寫(xiě)了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)聽(tīng)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)行:
網(wǎng)頁(yè)代碼如下:
與服務(wù)端交互網(wǎng)頁(yè)
保存文件名為 與服務(wù)端交互示例.html ,用瀏覽器運(yùn)行:
關(guān)于“node.js怎么構(gòu)建web服務(wù)器”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。