幽灵资源网 Design By www.bzswh.com
                                代码如下
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='这是数据库的数据'
  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);
  })
})
//执行登录
app.post('/dologin',function(req,res){
  console.log(req.body); /*获取post传过来的数据*/
  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('新闻数据');
})
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'){ /*执行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); /*执行方法*/
        })
      }else{ /*执行get请求*/
        G['_'+method][pathname](req,res); /*执行方法*/
      }
    }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();
以上代码很简单,大家可以测试下,如果有任何疑问和补充可以联系小编,更多内容可以查看以下相关知识点。
                                    标签:
                                        
                                Nodejs,express框架
幽灵资源网 Design By www.bzswh.com
                            
                                广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
                        免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
                        暂无评论...
                                     
                        