我来自龙卷风,那里有一个requestHandler类,并且您匹配查询以将其定向到正确的requestHandler。
您如何在node.js中进行操作?那样的东西?
http=require ('http');
url=require('url')
function case1(request,response){ ... }
function case2(request,response){ ... }
http.createServer(function(request, response) {
var q=url.parse(request.url, true).query
switch(true){
case /friend/.test(q):
case1(request,response);
return;
case /foes/.test(q):
case2(request,response);
return;
}
}).listen(9999)
使用Node.js' http.Server
,您可以自行建立任何路由。
而且,您很接近。不过,您将需要基于解析的URLpathname
而不是进行测试query
。
var pathname = url.parse(request.url, true).pathname;
switch (true) {
case /\/friend/.test(pathname):
case1(request, response);
break;
case /\/foes/.test(pathname):
case1(request, response);
break;
}
您可能还需要测试request.method
。
case request.method === 'GET' && /\/friend/.test(pathname):
或者,正如soulcheck所提到的,有许多可用的库/框架具有已建立的用于路由的API,包括express和restify。
var app = express();
app.get('/friend', case1);
app.get('/foes', case2);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句