Node.js學(xué)習(xí)之路day3

1.只會helloworld的服務(wù)器

http模塊提供了request對象和response對象。
request對象封裝了http請求糟秘,通過調(diào)用request對象的屬性和方法,可以拿到http請求相關(guān)的信息。
response對象封裝了http響應(yīng)克滴,操作response對象的方法可以返回http響應(yīng)泊窘。
一個簡單的helloworld栗子

let http=require('http')
//創(chuàng)建服務(wù)器對象
let server=http.createServer(function(request,response){
    console.log('first node server')
    //http響應(yīng)200
    response.writeHead(200,{'content-Type':'text/html'})
    //響應(yīng)內(nèi)容為helloworld
    response.write('<p>helloworld</p>')
    response.end()
})
server.listen(8080)

終端使用node test.js命令運行熄驼,打開瀏覽器localhost:8080

image.png

2.可返回文檔的服務(wù)器

可以解析請求中得url,從url分析到對應(yīng)的文件名烘豹,將本地的對應(yīng)文件返回即可
這里需要引入url模塊瓜贾,path模塊,以及前兩篇博客里的fs模塊
代碼及注釋如下

let http=require('http')
let fs=require('fs')
let url=require('url')
let path=require('path')
let server=http.createServer(function(request,response){
   let p=url.parse(request.url).pathname   //獲得url中的文件路徑
   let root = path.resolve(process.argv[2] || '.');//獲得當前目錄的路徑
   let currentPath=root+p  //拼接路徑
   fs.stat(currentPath,function(err,stat){
     if(!err&&stat.isFile()){   //沒有出錯并且文件存在
       response.writeHead(200)
       fs.createReadStream(currentPath).pipe(response)  //以管道流形式傳輸給response
     }else{
       response.writeHead(404)
       response.end('<p>404</p>')
     }
   })
})
server.listen(8080)

讀取txt

image.png

讀取html

image.png

404

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末携悯,一起剝皮案震驚了整個濱河市祭芦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚌卤,老刑警劉巖实束,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異逊彭,居然都是意外死亡咸灿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門侮叮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來避矢,“玉大人,你說我怎么就攤上這事囊榜∩笮兀” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵卸勺,是天一觀的道長砂沛。 經(jīng)常有香客問我,道長曙求,這世上最難降的妖魔是什么碍庵? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮悟狱,結(jié)果婚禮上静浴,老公的妹妹穿的比我還像新娘。我一直安慰自己挤渐,他們只是感情好苹享,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浴麻,像睡著了一般得问。 火紅的嫁衣襯著肌膚如雪囤攀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天宫纬,我揣著相機與錄音抚岗,去河邊找鬼。 笑死哪怔,一個胖子當著我的面吹牛宣蔚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播认境,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胚委,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了叉信?” 一聲冷哼從身側(cè)響起亩冬,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎硼身,沒想到半個月后硅急,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡佳遂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年营袜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丑罪。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡荚板,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吩屹,到底是詐尸還是另有隱情跪另,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布煤搜,位于F島的核電站免绿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏擦盾。R本人自食惡果不足惜嘲驾,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望厌衙。 院中可真熱鬧距淫,春花似錦绞绒、人聲如沸婶希。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喻杈。三九已至彤枢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筒饰,已是汗流浹背缴啡。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓷们,地道東北人业栅。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像谬晕,于是被迫代替她去往敵國和親碘裕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容