nodejs快速搭個(gè)服務(wù)器

不廢話直接上代碼祭椰,先來一個(gè)最簡(jiǎn)單的服務(wù)器: server.js如下:

const http = require("http");
const fs=require('fs');

var server=http.createServer(function(req,res){

  //http模塊的 createServer()方法用于創(chuàng)建一個(gè)http服務(wù):
  //參數(shù): req,響應(yīng)請(qǐng)求:
   //參數(shù): res,返回應(yīng)答:
  res.write("hello nodejs");
  res.end();
  //這一步在瀏覽器localhost:8898打開可以看到 hello nodejs(當(dāng)然前提是node 運(yùn)行一下文件);
  ----分割線---
  //但是這個(gè)服務(wù)器太low了,通常服務(wù)器都是可以返回文件的: 假設(shè)注釋掉上面連行代碼: 我們來看看req的用法:
  //假設(shè)我們?cè)跒g覽器輸出 localhost:8898/index.html   想當(dāng)然我們是把這個(gè)頁面返回給客戶端;怎么做呢? 
  
  //req對(duì)象中,我們可以截取到 /index.html  

  var url=req.url // index.html  當(dāng)然如果后面有參數(shù)也是可以截取到的
  
  //現(xiàn)在我們假設(shè)有一個(gè)www目錄在 server.js的同級(jí)目錄,www下新建 index.html ,頁面內(nèi)容自定義:
  
  //通常的想法是:
  if(url=='index.html'){
    fs.readFile("www/index.html",function(err,data){
      if(err){
        console.log("文件讀取出錯(cuò)..")
      }else{
        res.write(data) //讀取html內(nèi)容頁面,并返回給前端;
      }
      res.end()
    })
  }  if(url=="regester.html"){---codoe---}    //就像上面這樣完成了一系列頁面的請(qǐng)求; ---就如一個(gè)系統(tǒng)有數(shù)百個(gè)頁面,這種方式就徹底o(hù)ver了,看下面方式

});

server.listen(8898)

一個(gè)服務(wù)器統(tǒng)一讀文件和接口

const http = require("http");
const urlLib = require('url');
const fs = require('fs');
const querystring = require('querystring');

// console.log(querystring.parse("username=liuhf&password=123456"));

var server = http.createServer(function (req, res) {

    var obj = urlLib.parse(req.url, true);
    var path = obj.pathname;  //pathname;   host到? 前面之間的str

    var GET = {};  //測(cè)試get數(shù)據(jù);
    var POST = {}; //測(cè)試post數(shù)據(jù);

    if (path == '/favicon.ico') { return }   //chrome 瀏覽器會(huì)自動(dòng)請(qǐng)求站點(diǎn)圖標(biāo);
    GET = obj.query;

    var data_str = '';   //暫時(shí)存放簡(jiǎn)單數(shù)據(jù);
    //作為一個(gè)服務(wù)器,最基本的具有 處理 文件請(qǐng)求 和 接口請(qǐng)求
    if (path.indexOf("api") < 0) {  //是文件請(qǐng)求  //這里只是簡(jiǎn)單的舉一個(gè)例子;
        //文件服務(wù)器:
        fs.readFile("./www" + path, function (err, data) {      //相當(dāng)于一個(gè)統(tǒng)一的映射到www目錄;
            if (err) {
                console.log(err); 
            } else {
                res.write(data)
            }

            res.end();
          
        });


    } else {
        console.log("請(qǐng)求接口--")
        //接口請(qǐng)求:
        req.on("data", function (data) {   //僅對(duì)post數(shù)據(jù)有效;
            data_str += data;               //當(dāng)post數(shù)據(jù)過大的時(shí)候,會(huì)分次傳輸送;
            console.log("post_data",data)
        }); 

        req.on("end", function (data) {    //end '事件' 并不是post獨(dú)有,不管有沒有post數(shù)據(jù),都會(huì)進(jìn)入這里;
            POST = querystring.parse(data_str)
            console.log("post提交--")
            console.log("GET:",GET);
            console.log("POST:",POST)
            res.end();
        });
    }


}).listen(8899);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鸽捻,隨后出現(xiàn)的幾起案子葵硕,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宋雏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡务豺,警方通過查閱死者的電腦和手機(jī)磨总,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笼沥,“玉大人蚪燕,你說我怎么就攤上這事”记常” “怎么了馆纳?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)汹桦。 經(jīng)常有香客問我厕诡,道長(zhǎng),這世上最難降的妖魔是什么营勤? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任灵嫌,我火速辦了婚禮壹罚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寿羞。我一直安慰自己猖凛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布绪穆。 她就那樣靜靜地躺著辨泳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玖院。 梳的紋絲不亂的頭發(fā)上菠红,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音难菌,去河邊找鬼试溯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛郊酒,可吹牛的內(nèi)容都是我干的遇绞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼燎窘,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼摹闽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起褐健,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤付鹿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蚜迅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倘屹,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年慢叨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纽匙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拍谐,死狀恐怖烛缔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轩拨,我是刑警寧澤践瓷,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站亡蓉,受9級(jí)特大地震影響晕翠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一淋肾、第九天 我趴在偏房一處隱蔽的房頂上張望硫麻。 院中可真熱鬧,春花似錦樊卓、人聲如沸拿愧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浇辜。三九已至,卻和暖如春唾戚,著一層夾襖步出監(jiān)牢的瞬間柳洋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工叹坦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留熊镣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓立由,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親序厉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锐膜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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