Maison > interface Web > js tutoriel > Créez facilement un serveur nodejs (4) : Routage

Créez facilement un serveur nodejs (4) : Routage

PHPz
Libérer: 2018-09-30 09:59:44
original
1266 Les gens l'ont consulté

Le serveur doit effectuer différentes opérations en fonction de différentes URL ou requêtes. Nous pouvons implémenter cette étape via le routage.

Dans la première étape, nous devons analyser le chemin de l'URL de la requête et nous introduisons le module url.

Ajoutons un peu de logique à la fonction onRequest() pour connaître le chemin de l'URL demandé par le navigateur :

var http = require("http");
var url = require("url");
function start() {
 function onRequest(request, response) {
  var pathname = url.parse(request.url).pathname;
  console.log("Request for " + pathname + " received.");
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
 }
 http.createServer(onRequest).listen(8888);
 console.log("Server has started.");
}
exports.start = start;好了,pathname就是请求的路径,我们可以用它来区别不同请求了,这样一来我们就可以对来自/start和/upload的请求使用不同的代码来处理。
Copier après la connexion

Écrivons ensuite la route et créons un routeur appelé fichier js. , le code est le suivant :

function route(pathname) {
 console.log("About to route a request for " + pathname);
}
exports.route = route;
Copier après la connexion

Ce code ne fait rien Intégrons d'abord le routage et le serveur.

Nous étendons ensuite la fonction start() du serveur, exécutons la fonction de routage dans start() et lui transmettons le chemin d'accès en tant que paramètre.

var http = require("http");
var url = require("url");
function start(route) {
 function onRequest(request, response) {
  var pathname = url.parse(request.url).pathname;
  console.log("Request for " + pathname + " received.");
  route(pathname);
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
 }
 http.createServer(onRequest).listen(8888);
 console.log("Server has started.");
}
exports.start = start;
Copier après la connexion

En même temps, nous étendrons index.js en conséquence afin que la fonction de routage puisse être injectée dans le serveur :

var server = require("./server");
var router = require("./router");
server.start(router.route);
Copier après la connexion

Exécutez index.js et accédez à n'importe quel chemin , tel que /upload, vous trouverez la sortie de la console, À propos d'acheminer une requête pour /upload.

Cela signifie que notre serveur HTTP et notre module de routage de requêtes peuvent déjà communiquer entre eux.

Ce qui précède représente l'intégralité du contenu de ce chapitre. Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo Node.js !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal