Я знаю, что там много рамок маршрутизатора Node JS, но я пытаюсь начать с квадрата и изучать концепцию, а не повторять код. Короче говоря, мой чрезвычайно простой маршрутизатор работает частично, но имеет некоторые проблемы. Вот код.Простые проблемы с маршрутизатором NodeJS - заявление о несостоятельности дела?
function serverStart(urlRoute) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
console.log("Request received for " + pathname + ".");
urlRoute(pathname, request, response);
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
код маршрутизатора:
function urlRoute(pathname, req, res) {
console.log(pathname)
switch(pathname) {
case '/':
console.log("Request for path '/'");
res.writeHead(200, {"Content-Type": "text/plain"});
res.write("In Index!");
case '/start':
console.log("Request for path '/start'");
res.writeHead(200, {"Content-Type": "text/plain"});
res.write("In Start!");
case '/foo':
console.log("Request for path '/foo'");
res.writeHead(200, {"Content-Type": "text/plain"});
res.write("In Foo!");
default: // Default code IS working
console.log("404");
res.writeHead(404, {"Content-Type": "text/plain"});
res.write("Default 404");
}
}
по умолчанию и/или 404 секция работает нормально, но другие этого не делают. В принципе, если я запрашиваю индексную страницу «/», то все сообщения о случаях загораются, и аналогичным образом следующий случай срабатывает сам и все под ним. Итак, «/ foo» срабатывает «foo» и выписывает 404 на консоль, но я не получаю 404 страницы (если, конечно, я вообще не использую плохой URL).
Попытка понять, почему случай не выглядит корректно. Любая помощь будет оценена!
Совершенная. Вот и все. Спасибо. И да, не думал, что перерыв был необходим! – ccdrm