路由在BS架构中,路由的概念是一样的,可以理解为根据客户端请求的URL映射到不同的方法,更一般的为中的路径URL,或参数,或锚被映射到这些信息。应用场景注册账号-->[post]-->http://localhost:88/register注册成功跳转到登录界面登录-->[post]-->http://localhost:88/login成功获取学生信息-->[get]-->http://localhost:88/students也可以获取订单信息-->[get]-->http://localhost:88/orders如何访问不存在的路由会抛出错误信息。consthttp=require('http')consturl=require('url')constqs=require('querystring');constutil=require('util');http.createServer((request,response)=>{leturlObj=url.parse(request.url,true);letpathname=urlObj.pathname;letmethod=request.method.toUpperCase();letparams=urlObj.query;if(method=='POST'){letpostData='';request.on('data',(_data)=>{postData+='_data';})request.on('end',()=>{postData=qs.parse(postData);letresult={};switch(pathname){case'/login'://连接数据库实现登录逻辑result={status:true};break;case'/register'://连接数据库实现注册逻辑result={status:true};break;default:result={status:false,message:'Nocorrespondingrequest'};休息;}response.end(util.inspect(result))})}else{letresult={};switch(pathname){case'/students'://连接数据库获取学生信息result={status:true,data:[],params};休息;case'/orders'://连接数据库,获取订单信息result={status:true,data:[],params};休息;default:result={status:false,message:'Nocorrespondingrequest',params};休息;}response.end(util.inspect(result))}}).listen(88)
