Express-Server, Back-End, API [geschlossen]

Aug 30 2020

Hallo, ich bin neu.

  • Ich habe vor drei Monaten mit React.js auf YT angefangen.

  • meistens API holen

  • Einige APIs sind mit einer Signatur gesichert
  • Ich wusste nicht, dass sich meine API-Aufrufe auf dem Server befinden müssen, nicht in React

  • CORS-Fehler erhalten
  • Ich wusste nicht, was ist und wie man Cors repariert.

  • begann ein Backend zu lernen

jedes Video auf YT:

  • JSON-Platzhalter
  • SWAPI

  • kein Video mit React und Backend,
  • Keine POST-signierte Anfrage vom Servervideo.
  • fast aufgeben

CORS-Fehlerlösung:

  • Jetzt weiß ich, wie man Cors repariert:
  • mit Proxy zum Ausdruck in package.json,
  • Hinzufügen von setupProxy.js in src,
  • und "app.use (cors ())" in Express server.js

Meine Reaktions-App:

  • läuft 24/7.
  • müssen die Zustände alle 3s von der API aktualisieren.
  • dann vergleiche Zustandsdaten. (das sind einige geheime Formeln und Funktionen, die der Öffentlichkeit nicht zugänglich gemacht werden können, wenn dies überhaupt möglich ist. Um Code auf dem Express-Server zu verbergen.js)
  • und entsprechende Maßnahmen ergreifen (neue API-Aufrufe).

Frageteil:

  • ist das überhaupt möglich?
  • Wie funktioniert die App, wenn niemand auf der Website ist?
  • Dies bedeutet, dass die Express-Datei server.js immer aktiv ist
  • und React UI ist nur dann aktiv, wenn jemand eine Website öffnet, um zu sehen, was mit Daten los ist

  • Wie kann ich die React-App mit Express bereitstellen? ist das gut?:

https://dev.to/nburgess/creating-a-react-app-with-react-router-and-an-express-backend-33l3


  • Wie hosten - wo bereitstellen? Auf Github-Seiten?
  • Express-Server-Autoruns beim Bereitstellen oder benötige ich "npm start" beim Hosting?
  • oder öffnen Sie die App zum ersten Mal (Website öffnen)
  • wie das funktioniert
  • brauche ich django

was ist besser:

  • Wenn ich meine App für andere Benutzer freigeben möchte:
  • um ihnen jeweils eine Kopie der React App zu geben, und sie stellen sich selbst bereit
  • oder
  • Erstellen Sie eine universelle App, damit sich jeder Benutzer anmelden und einen eigenen Express-Server mit Dashboard sowie eigenen Daten und Status haben kann.

  • Wenn die universelle App besser ist, sollte man das lernen


Vielen Dank für jede Frage, die beantwortet wird.


Antworten

HeaustAzure Aug 30 2020 at 09:21

Der Server läuft rund um die Uhr

Wenn ein Benutzer auf eine Seite der Website zugreifen möchte, sendet der Server ihm den Entwurf der Seite (HTML, CSS und JS, der in diesem Fall von Ihrem Build-Code für React JS erstellt wird). Dann wird Ihre React-App lebendig.

Sie haben bereits Express für die Serverseite, Sie brauchen kein Django.

Ja, die Bereitstellung mit Heroku ist in Ordnung. Es kümmert sich um den Server, aber Sie müssen ein Skript in die package.json des Servers einfügen, damit der Build reagiert, wenn Sie noch keinen React-Build auf Heroku hochladen.

"heroku-postbuild": "npm install --prefix client && npm run build --prefix client"

Hier ist der Client der Ordner, in dem Sie Ihren Reaktionscode aufbewahren.

Wenn es nicht öffentlich sein soll, sollten Sie es nicht als Reaktionszustand haben.

Die Verwendung einer universellen Sache ist besser. Erstellen Sie einfach ein Kontosystem mit dem Eigentümer als Privileg und lassen Sie die URL in Form von www.website.com/owner'susername und fertig. Jeder Eigentümer erhält seine eigene Version der Website.

(Auf Youtube gibt es ein fantastisches MERN-Stack-Tutorial von Traversy Media, das die meisten Ihrer Fragen beantwortet.)