Zwei praktische Möglichkeiten zum Aktivieren des Proxys in React

Zwei praktische Möglichkeiten zum Aktivieren des Proxys in React

Zwei Möglichkeiten zum Aktivieren des Proxy

React verfügt nicht über gekapselten Ajax-Anforderungscode, den wir direkt verwenden können. Bei der Interaktion müssen wir den Ajax-Code selbst kapseln oder eine Ajax-Bibliothek eines Drittanbieters verwenden. Im Allgemeinen verwenden wir Axios (leichtgewichtig).

Warum brauchen wir einen Agenten?

Wenn wir beispielsweise lokal einen Server mit Port 5000 schreiben und eine Anforderung über Port 3000 stellen, tritt ein domänenübergreifendes Problem auf (die ursprüngliche Ajax-Engine von Port 3000 fängt die Antwort ab). Zu diesem Zeitpunkt kann das Problem durch die Verwendung eines Proxys gelöst werden. Der sogenannte Proxy ist ein Tool zum Übertragen von Informationen. Die Anforderung mit Port 3000 wird an den auf Port 3000 geöffneten Proxy gesendet, und der Proxy leitet sie an den Server auf Port 5000 weiter. Da der Proxy keine Ajax-Engine hat, kann er beim Antworten die Antwort empfangen und sie dann an das auf Port 3000 geöffnete Gerüst weiterleiten, wodurch das domänenübergreifende Problem gelöst wird.

Zwei Möglichkeiten zum Öffnen des Proxys in React

Methode 1

Fügen Sie der Datei package.json "proxy": "https://localhost:5000" hinzu. Danach werden Ressourcen, die auf Port 3000 nicht verfügbar sind, auf Port 5000 gefunden. Das heißt, Anfragen an Port 3000 werden an den Server an Port 5000 weitergeleitet, wenn das angeforderte Objekt jedoch bereits an Port 3000 verfügbar ist, wird es nicht an Port 5000 weitergeleitet.

Mit dieser Methode kann nur einer gefunden werden. Wenn Sie jedoch nicht nur Port 5000, sondern auch andere Portnummern finden möchten (mehrere Proxys konfigurieren), sollten Sie die folgende Methode verwenden.

Methode 2

Fügen Sie eine setupProxy-Datei in src hinzu (das React-Scaffolding findet diese Datei) und kopieren Sie den folgenden Code

Nach der Konfiguration müssen Sie /api1 zur Adresse localhost:3000 hinzufügen, an die die Anfrage zuvor gesendet wurde. Das bedeutet, dass, wenn die angeforderte Ressource auf Port 3000 nicht gefunden wird, der von api1 konfigurierte Proxy für den Zugriff auf Port 5000 verwendet wird. Wenn Sie mehrere Proxys konfigurieren möchten, trennen Sie diese durch Kommas.

changeOrigin wird verwendet, um den Wert des Host-Felds im vom Server empfangenen Antwortheader zu steuern. Wenn der Standardwert hier „false“ ist, geht der Server davon aus, dass die Anforderung von Port 3000 kommt. Wenn der Wert jedoch auf „true“ gesetzt ist, geht der Server davon aus, dass die Anforderung von Port 5000 kommt (was nicht der Fall ist). Sie müssen dies nicht schreiben, aber es ist am besten, es zu schreiben.

Der Anforderungspfad wird während pathWrite neu geschrieben. Tatsächlich wird der Proxy am Anfang über /api gefunden, aber wenn der Proxy eine Anforderung an Port 5000 stellt, muss /api entfernt werden, z. B. https://localhost:3000/api/student. Wenn api nicht entfernt wird, entspricht die Anforderungsadresse /api/students, aber tatsächlich sollte die Adresse, die wir anfordern möchten, /student sein.

const Proxy = erforderlich('http-Proxy-Middleware');
​
modul.exporte = Funktion (App) {
    app.verwenden(
        Proxy('/api1', {
            Ziel: 'http://localhost:5000',
              changeOrigin: true, // Standardwert ist false
            Pfad neu schreiben: { '^/api1': '' }
         }),
        Proxy('/api2', {
            Ziel: 'http://localhost:5001',
            changeOrigin: true, // Standardwert ist false
            Pfad neu schreiben: { '^/api2': '' }
       }),
   )
}

Zusammenfassen

Damit ist dieser Artikel über die beiden Möglichkeiten zum Aktivieren des Proxys in React abgeschlossen. Weitere Informationen zum Aktivieren des Proxys in React finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  CentOS 6 verwendet Docker zum Bereitstellen eines Zookeeper-Betriebsbeispiels

>>:  MySql schnelles Einfügen von zig Millionen großen Datenbeispielen

Artikel empfehlen

js, um einen einfachen Kalendereffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

So starten Sie mehrere MySQL-Datenbanken auf einem Linux-Host

Lassen Sie uns heute darüber sprechen, wie Sie vi...

Eine detaillierte Einführung in den Ausführungsmechanismus von JavaScript

Inhaltsverzeichnis 1. Das Konzept von Prozess und...

MySQL-Fall bei der Verwendungsbeispielanalyse

Zuerst erstellen wir die Datenbanktabelle: Tabell...

Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server

Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...

Schriftreferenzen und Übergangseffekte außerhalb des Systems

Code kopieren Der Code lautet wie folgt: <span...

Reduzieren Sie die Speicher- und CPU-Auslastung durch die Optimierung von Webseiten

Manche Webseiten erscheinen möglicherweise nicht g...

Detaillierte Erklärung des JS-Browserspeichers

Inhaltsverzeichnis Einführung Plätzchen Was sind ...

Implementierung des Element-UI-Layouts (Zeilen- und Spaltenkomponenten)

Inhaltsverzeichnis Grundlegende Anweisungen und V...

Analyse der Ursache des Docker-Fehlers Beendet (1) vor 4 Minuten

Docker-Fehler 1. Überprüfen Sie die Ursache Docke...

Vorteile von INSERT INTO SET in MySQL

Daten in MySQL-Datenbank einfügen. Bisher häufig ...

js zum Schreiben des Karusselleffekts

In diesem Artikel wird der spezifische Code von j...