node中的路径解析

对于node中路径的解析,常见的有两种方式:

一,根据路径经行业务处理的应用是静态文件服务器,可以根据路径去查找磁盘中的文件

        function(req,res){
		var pathname=url.parse(req.url).pathname;
		fs,readFile(path.join(Root,pathname),function(err,file){
			if(err){
				................
				return;
			}
			else{
				...............
			}
		}
		);
	}

二,可以根据路径来选择控制器

如:/control/action/a/b/c

control为具体的控制器,action为具体的行为,如增删改查,剩余为参数

               function(req,res){
			var pathname=url.parse(req.url).pathname;
			var paths=pathname.split("/");                      //把url转为数组  [control,action,a,b,c]
			var controller=paths[0]||'index';                     //如果没有控制器,使用默认的index控制器
                        var action=paths[1]||'index';
			var args=paths.slice(2);                                //把后面的参数都放置到一个数组里
			if(handles[controller]&&handles[controller][action]){
				//如果定义了上述的控制器和action处理
				handles[controller][action].apply(null,[req,res].concat(args));
			}
			else{
				res.wirteHead(500);
				res.end();
			}
		}



有了上面的分发,我们就可以专注于业务,

                var handles={};
		handles.index={};
		handles.index.index=function(req,res,arg1,arg2){
			//其他处理
		}
		
		handles.control1={};
		handles.control1.delete=function(req,res,arg1,arg2){
			//其他处理
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值