Heim Web-Frontend js-Tutorial Übersicht über die NodeJS-Anfrage „routing_node.js'.

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

May 16, 2016 pm 04:42 PM
nodejs 请求路由

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;
Nach dem Login kopieren
Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Unterschied zwischen NodeJS und VueJS Der Unterschied zwischen NodeJS und VueJS Apr 21, 2024 am 04:17 AM

Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, während Vue.js ein clientseitiges JavaScript-Framework zum Erstellen interaktiver Benutzeroberflächen ist. Node.js wird für die serverseitige Entwicklung verwendet, beispielsweise für die Entwicklung von Back-End-Service-APIs und die Datenverarbeitung, während Vue.js für die clientseitige Entwicklung verwendet wird, beispielsweise für Single-Page-Anwendungen und reaktionsfähige Benutzeroberflächen.

Ist NodeJS ein Backend-Framework? Ist NodeJS ein Backend-Framework? Apr 21, 2024 am 05:09 AM

Node.js kann als Backend-Framework verwendet werden, da es Funktionen wie hohe Leistung, Skalierbarkeit, plattformübergreifende Unterstützung, ein umfangreiches Ökosystem und einfache Entwicklung bietet.

So verbinden Sie NodeJS mit der MySQL-Datenbank So verbinden Sie NodeJS mit der MySQL-Datenbank Apr 21, 2024 am 06:13 AM

Um eine Verbindung zu einer MySQL-Datenbank herzustellen, müssen Sie die folgenden Schritte ausführen: Installieren Sie den MySQL2-Treiber. Verwenden Sie mysql2.createConnection(), um ein Verbindungsobjekt zu erstellen, das die Hostadresse, den Port, den Benutzernamen, das Passwort und den Datenbanknamen enthält. Verwenden Sie „connection.query()“, um Abfragen durchzuführen. Verwenden Sie abschließend Connection.end(), um die Verbindung zu beenden.

Was sind die globalen Variablen in NodeJS? Was sind die globalen Variablen in NodeJS? Apr 21, 2024 am 04:54 AM

Die folgenden globalen Variablen sind in Node.js vorhanden: Globales Objekt: global Kernmodul: Prozess, Konsole, erforderlich Laufzeitumgebungsvariablen: __dirname, __filename, __line, __column Konstanten: undefiniert, null, NaN, Infinity, -Infinity

Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Apr 21, 2024 am 05:18 AM

Es gibt zwei npm-bezogene Dateien im Node.js-Installationsverzeichnis: npm und npm.cmd. Die Unterschiede sind wie folgt: unterschiedliche Erweiterungen: npm ist eine ausführbare Datei und npm.cmd ist eine Befehlsfensterverknüpfung. Windows-Benutzer: npm.cmd kann über die Eingabeaufforderung verwendet werden, npm kann nur über die Befehlszeile ausgeführt werden. Kompatibilität: npm.cmd ist spezifisch für Windows-Systeme, npm ist plattformübergreifend verfügbar. Nutzungsempfehlungen: Windows-Benutzer verwenden npm.cmd, andere Betriebssysteme verwenden npm.

Gibt es einen großen Unterschied zwischen NodeJS und Java? Gibt es einen großen Unterschied zwischen NodeJS und Java? Apr 21, 2024 am 06:12 AM

Die Hauptunterschiede zwischen Node.js und Java sind Design und Funktionen: Ereignisgesteuert vs. Thread-gesteuert: Node.js ist ereignisgesteuert und Java ist Thread-gesteuert. Single-Threaded vs. Multi-Threaded: Node.js verwendet eine Single-Threaded-Ereignisschleife und Java verwendet eine Multithread-Architektur. Laufzeitumgebung: Node.js läuft auf der V8-JavaScript-Engine, während Java auf der JVM läuft. Syntax: Node.js verwendet JavaScript-Syntax, während Java Java-Syntax verwendet. Zweck: Node.js eignet sich für I/O-intensive Aufgaben, während Java für große Unternehmensanwendungen geeignet ist.

Ist NodeJS eine Back-End-Entwicklungssprache? Ist NodeJS eine Back-End-Entwicklungssprache? Apr 21, 2024 am 05:09 AM

Ja, Node.js ist eine Backend-Entwicklungssprache. Es wird für die Back-End-Entwicklung verwendet, einschließlich der Handhabung serverseitiger Geschäftslogik, der Verwaltung von Datenbankverbindungen und der Bereitstellung von APIs.

Welches soll man zwischen NodeJS und Java wählen? Welches soll man zwischen NodeJS und Java wählen? Apr 21, 2024 am 04:40 AM

Node.js und Java haben jeweils ihre Vor- und Nachteile in der Webentwicklung, und die Wahl hängt von den Projektanforderungen ab. Node.js zeichnet sich durch Echtzeitanwendungen, schnelle Entwicklung und Microservices-Architektur aus, während Java sich durch Support, Leistung und Sicherheit auf Unternehmensniveau auszeichnet.

See all articles