成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Nodejs如何封裝類似express框架的路由

這篇文章給大家分享的是有關(guān)Nodejs如何封裝類似express框架的路由的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)是專業(yè)的烏翠網(wǎng)站建設(shè)公司,烏翠接單;提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行烏翠網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

代碼如下

var http=require('http');

var ejs=require('ejs');

var app=require('./model/express-route.js');

console.log(app);

http.createServer(app).listen(3000);

app.get('/',function(req,res){

  var msg='這是數(shù)據(jù)庫的數(shù)據(jù)'

  ejs.renderFile('views/index.ejs',{msg:msg},function(err,data){

    res.send(data);
  })
})


//登錄頁面
app.get('/login',function(req,res){

  console.log('login');

  ejs.renderFile('views/form.ejs',{},function(err,data){

    res.send(data);
  })

})

//執(zhí)行登錄
app.post('/dologin',function(req,res){

  console.log(req.body); /*獲取post傳過來的數(shù)據(jù)*/

  res.send("<script>alert('登錄成功');history.back();</script>")
})


app.get('/register',function(req,res){

  console.log('register');

  res.send('register');
})

app.get('/news',function(req,res){

  console.log('register');

  res.send('新聞數(shù)據(jù)');
})

express-route.js

var url=require('url');

//封裝方法改變res 綁定res.send()
function changeRes(res){

  res.send=function(data){

    res.writeHead(200,{"Content-Type":"text/html;charset='utf-8'"});

    res.end(data);
  }
}

//暴露的模塊
var Server=function(){


  var G=this;  /*全局變量*/

  //處理get和post請求
  this._get={};

  this._post={};



  var app=function(req,res){


    changeRes(res);

    //獲取路由
    var pathname=url.parse(req.url).pathname;
    if(!pathname.endsWith('/')){
      pathname=pathname+'/';
    }

    //獲取請求的方式 get post
    var method=req.method.toLowerCase();


    if(G['_'+method][pathname]){

      if(method=='post'){ /*執(zhí)行post請求*/

        var postStr='';
        req.on('data',function(chunk){

          postStr+=chunk;
        })
        req.on('end',function(err,chunk) {

          req.body=postStr; /*表示拿到post的值*/


          //G._post['dologin'](req,res)

          G['_'+method][pathname](req,res); /*執(zhí)行方法*/

        })



      }else{ /*執(zhí)行g(shù)et請求*/
        G['_'+method][pathname](req,res); /*執(zhí)行方法*/

      }

    }else{

      res.end('no router');
    }

  }

  app.get=function(string,callback){
    if(!string.endsWith('/')){
      string=string+'/';
    }
    if(!string.startsWith('/')){
      string='/'+string;

    }

    //  /login/
    G._get[string]=callback;

  }

  app.post=function(string,callback){
    if(!string.endsWith('/')){
      string=string+'/';
    }
    if(!string.startsWith('/')){
      string='/'+string;

    }
    //  /login/
    G._post[string]=callback;

    //G._post['dologin']=function(req,res){
    //
    //}
  }

  return app;

}

module.exports=Server();

感謝各位的閱讀!關(guān)于“Nodejs如何封裝類似express框架的路由”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

文章題目:Nodejs如何封裝類似express框架的路由
分享URL:http://jinyejixie.com/article48/possep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)頁設(shè)計公司、微信公眾號網(wǎng)站制作、小程序開發(fā)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
镇原县| 博湖县| 含山县| 新竹市| 永福县| 当涂县| 寻乌县| 辽阳市| 彭山县| 邛崃市| 交口县| 德州市| 望江县| 富源县| 盈江县| 淄博市| 贵定县| 萨嘎县| 紫金县| 杭锦旗| 班玛县| 苍溪县| 枣庄市| 高清| 伊宁县| 河北省| 洛川县| 泗阳县| 石屏县| 玉溪市| 三穗县| 岳阳县| 乌兰浩特市| 霍山县| 香港| 油尖旺区| 孝义市| 安吉县| 富蕴县| 呼伦贝尔市| 临夏市|