gpt4 book ai didi

node.js - 你如何在 node.js 中使用多个请求处理程序?

转载 作者:可可西里 更新时间:2023-11-01 17:02:34 26 4
gpt4 key购买 nike

我来自 Tornado ,在那里你有一个 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 ,您可以自行建立任何路由。

而且,你已经接近这个了。不过,您需要根据解析后的 URL 的 pathname 进行测试。而不是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提到,有numerous libraries/framework available具有已建立的路由 API,包括 expressrestify .

var app = express();

app.get('/friend', case1);
app.get('/foes', case2);

关于node.js - 你如何在 node.js 中使用多个请求处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com