Maison >interface Web >js tutoriel >Présentation de la requête nodejs routage_node.js

Présentation de la requête nodejs routage_node.js

WBOY
WBOYoriginal
2016-05-16 16:42:241714parcourir

De manière générale, le serveur doit répondre différemment aux différentes requêtes d'URL. Nous devons fournir à la route l'URL demandée et d'autres paramètres GET et POST requis, puis la route doit exécuter le code correspondant en fonction de ces données. Toutes les données dont nous avons besoin seront contenues dans l'objet request, qui est passé comme premier paramètre de la fonction de rappel onRequest(). Afin d'analyser ces données, des modules supplémentaires doivent être appelés, à savoir les modules url et querystring.

URL : Ceci
Le module dispose d'utilitaires pour la résolution et l'analyse d'URL. Appelez require('url') à
. utilisez-le.

Les objets URL analysés comportent tout ou partie des champs suivants, selon qu'ils existent ou non dans la chaîne URL. Toutes les parties qui ne figurent pas dans la chaîne URL ne seront pas dans l'objet analysé. Des exemples sont affichés pour l'URL
.
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'

href : l'URL complète qui a été analysée à l'origine. Le protocole et l'hôte sont en minuscules.
. Exemple : 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'

protocol : Le protocole de la requête, en minuscules.
Exemple : 'http:'

host : la partie hôte complète en minuscules de l'URL, y compris les informations sur le port.
Exemple : 'host.com:8080'

auth : la partie des informations d'authentification d'une URL.
Exemple : 'utilisateur:pass'

nom d'hôte : juste la partie du nom d'hôte en minuscules de l'hôte.
Exemple : 'host.com'

port : la partie numéro de port de l'hôte.
Exemple : '8080'

pathname : la section du chemin de l'URL, qui vient après l'hôte et avant la requête, y compris la barre oblique initiale si elle est présente.
Exemple : '/p/a/t/h'

recherche : la partie « chaîne de requête » de l'URL, y compris le point d'interrogation initial.
Exemple : '?query=string'

path : Concaténation du nom de chemin et de la recherche.
Exemple : '/p/a/t/h?query=string'

requête : soit la partie « params » de la chaîne de requête, soit un objet analysé par la chaîne de requête.
Exemple : 'query=string' ou {'query':'string'}

hash : la partie « fragment » de l'URL, y compris le signe dièse.
Exemple : '#hash'

Nous ajouterons le module de routage librement en utilisant l'injection de dépendances. La fonction qui est la cible du routage est appelée gestionnaire de requêtes. L'implémentation de la fonction de gestion des requêtes nécessite la création d'un module appelé requestHandlers. Bien sûr, il peut également être nommé autrement. Et pour chaque gestionnaire de requêtes, ajoutez une fonction d'espace réservé, puis exportez ces fonctions en tant que méthodes de module, afin que le gestionnaire de requêtes et le module de routage puissent être connectés, afin que le routage puisse être suivi.

En particulier, une série de gestionnaires de requêtes doivent être transmis via un objet, et cet objet doit être injecté dans la fonction route() de manière faiblement couplée.

Nous pouvons obtenir la fonction de traitement des requêtes de l'objet passé de la même manière que nous obtenons des éléments du tableau associatif, nous avons donc une expression simple et fluide comme handle[pathname]();. Le code ressemble à ceci :

var handle = {}
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
Déclaration:
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