时间:2021-05-26
代码如下
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); 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'){ var postStr=''; req.on('data',function(chunk){ postStr+=chunk; }) req.on('end',function(err,chunk) { req.body=postStr; //G._post['dologin'](req,res) G['_'+method][pathname](req,res); }) }else{ 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();以上代码很简单,大家可以测试下,如果有任何疑问和补充可以联系小编,更多内容可以查看以下相关知识点。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍了nodejs的express如何自动生成项目框架,这里整理了详细的代码,有需要的小伙伴可以参考下。nodejs版本为:4.X,express版本为
最近公司在使用node做前后端分离,采用的web框架是express,所以对express框架进行了深入的了解,前段时间写了篇关于express路由的文章,但是
中间件是我们在软件开发中的一个古老而强大的概念,当我们在应用程序中使用路由相关模式时,它非常有用。如果您不太了解中间件的含义,Nodejs框架Express里的
AngularJS封装$http.post()实例详解用了不是很长的时间跟了一个移动APP项目,用的是ionic+AngularJS+cordova框架,其间遇
服务端(nodeJs/express):letapp=require('express')();lethttp=require('http').Server(a