Anschließend transformieren wir den Server, damit der Anforderungshandler einige aussagekräftige Informationen zurückgeben kann.
Mal sehen, wie man es implementiert:
1. Lassen Sie den Anforderungshandler direkt (return ()) die Informationen zurückgeben, die sie dem Benutzer über die OnRequest -Funktion anzeigen möchten.
2. Lassen Sie uns zunächst den Anforderungshandler die Informationen zurückgeben, die im Browser angezeigt werden müssen.
Wir müssen RequestHandler.js in das folgende Formular ändern:
Die Codekopie lautet wie folgt:
Funktion start () {
console.log ("Anfragenhandler" Start "wurde genannt.");
zurück "Hallo Start";
}
Funktion upload () {
console.log ("Anfrage -Handler" Upload "wurde genannt.");
zurück "Hallo Upload";
}
exports.Start = start;
exports.Upload = Upload;
In ähnlicher Weise müssen die vom Anforderungshandler an den Server zurückgegebenen Informationen die Informationen erfordern.
Daher müssen wir Router.js in das folgende Formular ändern:
Die Codekopie lautet wie folgt:
Funktionsstrecke (Handle, Pathname) {
console.log ("kurz davor, eine Anfrage nach" + pathname) zu leiten);
if (typeof handle [pathName] === 'Funktion') {
Returnhandle [Pathname] ();
} anders {
console.log ("Kein Anfrage -Handler für" + pathname);
zurück "404 nicht gefunden";
}
}
Exports.Route = Route;
Wie im obigen Code gezeigt, geben wir, wenn die Anforderung nicht weitergeleitet werden kann, auch einige zugehörige Fehlermeldungen zurück.
Schließlich müssen wir unseren server.js neu aufrüsten, damit er auf den vom Anforderungshandler zurückgegebenen Inhalt über die Anforderungsroute zum Browser reagieren kann, wie unten gezeigt:
Die Codekopie lautet wie folgt:
var http = required ("http");
var url = erfordern ("url");
Funktionsstart (Route, Handle) {
Funktion OnRequest (Anfrage, Antwort) {
var pathname = url.parse (request.url) .PathName;
console.log ("Anfrage für" + pathname + "empfangen.");
response.writeHead (200, {"Content-Type": "Text/Plain"});
var content = Route (Handle, Pathname);
Antwort.Write (Inhalt);
Antwort.end ();
}
http.createServer (OnRequest) .Listen (8888);
console.log ("Server hat begonnen.");
}
exports.Start = start;
Wenn wir die refaktorierte Anwendung ausführen:
Anfrage http: // localhost: 8888/start, der Browser gibt "Hallo Start" aus.
Anfragen http: // localhost: 8888/upload gibt "Hallo hochladen" aus.
Bei Anfrage http: // localhost: 8888/foo wird es "404 nicht gefunden" ausgeben.
Das fühlt sich gut an und wir werden im nächsten Abschnitt etwas über ein Konzept erfahren: Blockieren von Operationen.