在沒有使用express庫的情況下搭建web服務,也是很簡單的,當然有express庫搭個web服務更方便,后面會把使用express庫搭建服務器的代碼也補上哦~以及靜態頁面請求,動態請求(ajax 等 等陸續補上)
nodeJs提供了http內置模塊,可以用來構建服務器,
首先需要用到 node里的 http模塊
引入模塊 let http = require(‘http’)
新建serve.js檔案:
let http = require('http');
let server = http.createServer((req,res)=>{//地址欄有人訪問時觸發回呼
if(req.url!=='/favicon.ico'){//為了不讀圖示請求,這個判斷不用管,當然可以不要
console.log("請求地址",req.url);//請求地址
//設定請求頭
res.writeHead(200,{'content-Type':'text/html;charset=utf-8'})
//可以不要,因為讀的html檔案有寫utf-8等
console.log("有人訪問了")
res.write('把資料讀到瀏覽器');//回應資料到--瀏覽器
res.end()//回應結束(要告訴瀏覽回應都全結束了,不然瀏覽器就一直轉傻等著,)
}
});
let port = 3000;
let hostname='localhost'
server.listen(port,hostname,()=>{
//啟動服務時回應 hostname域名可以省,默認localhost
console.log('server is runring...')
})
注意 引入node內置模塊時,不需要加路徑
這樣一個簡單的web服務器就搭建好了,啟動下試試吧,,,
當你在瀏覽器輸入 localhost:3000時


可以看到輸入localhost:3000==localhost:3000/請求回應的是根 / (對,在默認情況下請求的就是根)
http.createServer((req,res)=>{}) 用來創建服務物件的,里面的回呼函式有兩個引數,req與res:
req(respones)意味著,瀏覽器地址欄輸入時地址發了個請求(可能還會帶一些引數資料),如果想去拿瀏覽器發送請求帶進來的資料時,就要從req物件上取,
res 意味著請求成功了,并且作出了回應的動作(瀏覽器發過來請求,請求成功了,要回應一下)res就負責給瀏覽器回應后的內容,
req瀏覽器---->服務器
res服務器---->瀏覽器
以上就是簡單的把服務搭起來了,那如果想請求的是某個具體的html檔案呢,就要用到fs內置模塊,系統模塊,用來讀檔案,靜態頁面托管的,,,嗯~明天更新,,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/225366.html
標籤:其他
上一篇:從零開始使用華為DevEco Studio撰寫2048小游戲
下一篇:webApi學習的第三天
