Le serveur doit effectuer différentes opérations en fonction de différentes URL ou demandes, et nous pouvons implémenter cette étape à travers le routage.
Dans la première étape, nous devons d'abord analyser le chemin de la demande de l'URL de demande et nous introduisons le module URL.
Ajoutons une logique à la fonction onReQuest () pour découvrir le chemin d'accès à l'URL demandé par le navigateur:
La copie de code est la suivante:
var http = require ("http");
var url = require ("url");
fonction start () {
fonction onRequest (demande, réponse) {
var pathname = url.parse (request.url) .pathname;
console.log ("Demande pour" + pathname + "reçu.");
Response.WriteHead (200, {"Content-Type": "Text / Plain"});
Response.Write ("Hello World");
réponse.end ();
}
http.createServer (onRequest) .Listen (8888);
console.log ("Server a commencé.");
}
export.start = start;
Ok, le chemin d'accès est le chemin de la demande, nous pouvons l'utiliser pour distinguer différentes demandes, afin que nous puissions utiliser différents codes pour gérer les demandes de / début et / téléchargement.
Ensuite, nous rédigerons l'itinéraire et créerons un fichier appelé router.js, le code est le suivant:
La copie de code est la suivante:
Function Route (pathName) {
console.log ("sur le point d'acheter une demande pour" + pathname);
}
export.Route = Route;
Ce code ne fait rien, nous intégrons d'abord l'itinéraire et le serveur.
Nous étendons ensuite la fonction start () du serveur, exécutons la fonction de routage dans start () et passons le chemin d'accès à son paramètre.
La copie de code est la suivante:
var http = require ("http");
var url = require ("url");
Fonction start (route) {
fonction onRequest (demande, réponse) {
var pathname = url.parse (request.url) .pathname;
console.log ("Demande pour" + pathname + "reçu.");
Route (PathName);
Response.WriteHead (200, {"Content-Type": "Text / Plain"});
Response.Write ("Hello World");
réponse.end ();
}
http.createServer (onRequest) .Listen (8888);
console.log ("Server a commencé.");
}
export.start = start;
Dans le même temps, nous étendrons index.js en conséquence afin que la fonction de routage puisse être injectée dans le serveur:
La copie de code est la suivante:
var server = require ("./ server");
var routeur = require ("./ routeur");
server.start (router.Route);
Exécutez index.js et accédez à un chemin, tel que / téléchargement, vous trouverez la sortie de la console. Sur le point d'acheter une demande / télécharger.
Cela signifie que notre serveur HTTP et notre module de routage de demande peuvent déjà communiquer entre eux.
Dans la section suivante, nous implémenterons différents commentaires pour différentes demandes d'URL.