Heim  >  Artikel  >  Web-Frontend  >  Übersicht über die NodeJS-Anfrage „routing_node.js“.

Übersicht über die NodeJS-Anfrage „routing_node.js“.

WBOY
WBOYOriginal
2016-05-16 16:42:241622Durchsuche

Im Allgemeinen sollte der Server unterschiedlich auf verschiedene URL-Anfragen reagieren. Wir müssen der Route die angeforderte URL und andere erforderliche GET- und POST-Parameter bereitstellen, und dann muss die Route den entsprechenden Code basierend auf diesen Daten ausführen. Alle von uns benötigten Daten sind im Anforderungsobjekt enthalten, das als erster Parameter der Rückruffunktion onRequest() übergeben wird. Um diese Daten zu analysieren, müssen zusätzliche Module aufgerufen werden, nämlich die URL- und Querystring-Module.

URL:Dies
Das Modul verfügt über Dienstprogramme zur URL-Auflösung und -Analyse. Rufen Sie require('url') auf
Benutze es.

Geparste URL-Objekte verfügen über einige oder alle der folgenden Felder, je nachdem, ob sie in der URL-Zeichenfolge vorhanden sind oder nicht. Für die URL werden keine Beispiele angezeigt
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'

href: Die vollständige URL, die ursprünglich analysiert wurde. Sowohl das Protokoll als auch der Host werden in Kleinbuchstaben geschrieben.
Beispiel: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'

Protokoll: Das Anforderungsprotokoll, in Kleinbuchstaben.
Beispiel: 'http:'

Host: Der vollständige Host-Teil der URL in Kleinbuchstaben, einschließlich Portinformationen.
Beispiel: 'host.com:8080'

Auth: Der Authentifizierungsinformationsteil einer URL.
Beispiel: 'user:pass'

Hostname: Nur der kleingeschriebene Teil des Hostnamens des Hosts.
Beispiel: 'host.com'

Port: Der Portnummernteil des Hosts.
Beispiel: '8080'

Pfadname: Der Pfadabschnitt der URL, der nach dem Host und vor der Abfrage steht, einschließlich des anfänglichen Schrägstrichs, falls vorhanden.
Beispiel: '/p/a/t/h'

Suche: Der „Abfragezeichenfolge“-Teil der URL, einschließlich des führenden Fragezeichens.
Beispiel: '?query=string'

Pfad: Verkettung von Pfadname und Suche.
Beispiel: '/p/a/t/h?query=string'

Abfrage: Entweder der „params“-Teil der Abfragezeichenfolge oder ein von der Abfragezeichenfolge analysiertes Objekt.
Beispiel: 'query=string' oder {'query':'string'}

Hash: Der „Fragment“-Teil der URL, einschließlich des Nummernzeichens.
Beispiel: '#hash'

Wir werden das Routing-Modul lose mithilfe der Abhängigkeitsinjektion hinzufügen. Die Funktion, die das Routing-Ziel ist, wird als Anforderungshandler bezeichnet. Die Implementierung der Anforderungsverarbeitungsfunktion muss ein Modul namens „requestHandlers“ erstellen. Fügen Sie für jeden Anforderungshandler eine Platzhalterfunktion hinzu und exportieren Sie diese Funktionen dann als Modulmethoden, sodass der Anforderungshandler und das Routing-Modul verbunden werden können, sodass das Routing verfolgt werden kann.

Insbesondere muss eine Reihe von Anforderungshandlern durch ein Objekt geleitet werden, und dieses Objekt muss lose gekoppelt in die Funktion route() eingefügt werden.

Wir können die Anforderungsverarbeitungsfunktion vom übergebenen Objekt auf die gleiche Weise abrufen wie Elemente aus dem assoziativen Array, sodass wir einen einfachen und reibungslosen Ausdruck wie handle[Pfadname](); haben. Der Code sieht so aus:


var handle = {}
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn