Der Server muss unterschiedliche Vorgänge gemäß verschiedenen URLs oder Anforderungen ausführen, und wir können diesen Schritt durch Routing implementieren.
Im ersten Schritt müssen wir zuerst den Pfad der Anfrage -URL analysieren und das URL -Modul vorstellen.
Fügen wir der Funktion onRequest () eine Logik hinzu, um den vom Browser angeforderten URL -Pfad herauszufinden:
Die Codekopie lautet wie folgt:
var http = required ("http");
var url = erfordern ("url");
Funktion start () {
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"});
Antwort.Write ("Hallo Welt");
Antwort.end ();
}
http.createServer (OnRequest) .Listen (8888);
console.log ("Server hat begonnen.");
}
exports.Start = start;
OK, Pathname ist der Pfad der Anfrage. Wir können ihn verwenden, um verschiedene Anforderungen zu unterscheiden, damit wir verschiedene Codes verwenden können, um Anforderungen von /starten und /hochladen zu können.
Als nächstes schreiben wir die Route und erstellen eine Datei namens Router.js. Der Code lautet wie folgt:
Die Codekopie lautet wie folgt:
Funktionsroute (Pathname) {
console.log ("kurz davor, eine Anfrage nach" + pathname) zu leiten);
}
Exports.Route = Route;
Dieser Code tut nichts, wir integrieren zuerst die Route und den Server.
Wir erweitern dann die Funktion des Servers start (), die Routing -Funktion in start () ausführen und den Pfadnamen als Parameter an sie übergeben.
Die Codekopie lautet wie folgt:
var http = required ("http");
var url = erfordern ("url");
Funktion start (Route) {
Funktion OnRequest (Anfrage, Antwort) {
var pathname = url.parse (request.url) .PathName;
console.log ("Anfrage für" + pathname + "empfangen.");
Route (Pathname);
response.writeHead (200, {"Content-Type": "Text/Plain"});
Antwort.Write ("Hallo Welt");
Antwort.end ();
}
http.createServer (OnRequest) .Listen (8888);
console.log ("Server hat begonnen.");
}
exports.Start = start;
Gleichzeitig erweitern wir Index.js entsprechend, damit die Routing -Funktion in den Server injiziert werden kann:
Die Codekopie lautet wie folgt:
var Server = Request ("./ Server");
var router = required ("./router");
server.start (Router.Route);
Führen Sie index.js aus und greifen Sie auf einen Pfad zu, wie z. B. /Upload, Sie finden die Konsolenausgabe. Beendet, um eine Anfrage für /hochzuladen.
Dies bedeutet, dass unser HTTP -Server- und Anforderungsrouting -Modul bereits miteinander kommunizieren kann.
Im nächsten Abschnitt werden wir unterschiedliche Feedback für verschiedene URL -Anfragen implementieren.