Express server, Back-End, API [zamknięte]

Aug 30 2020

Cześć, jestem nowy.

  • Zacząłem od React.js, samodzielnie, trzy miesiące temu, na YT.

  • głównie pobieranie API

  • niektóre API są zabezpieczone podpisem
  • nie wiedziałem, że moje wywołania API muszą znajdować się na serwerze, a nie w Reakcie

  • uzyskiwanie błędów CORS
  • nie wiedziałem, co jest i jak naprawić korsy.

  • zaczął uczyć się back-endu

każdy film na YT:

  • Symbol zastępczy JSON
  • SWAPI

  • brak wideo z Reactem i zapleczem,
  • brak żądania POST podpisanego z wideo serwera.
  • prawie się poddaję

Rozwiązanie błędu CORS:

  • teraz już wiem jak naprawić cors:
  • z proxy do wyrażenia w package.json,
  • dodanie setupProxy.js w src,
  • i „app.use (cors ())” w Express server.js

Moja aplikacja React:

  • kursuje 24/7.
  • trzeba aktualizować stany co 3 sekundy z interfejsu API.
  • następnie porównaj dane o stanach. (to są pewne tajne formuły i funkcje, których nie można ujawnić publicznie, jeśli jest to w ogóle możliwe. Aby ukryć kod na serwerze ekspresowym.js)
  • i podejmij odpowiednie działania (nowe wywołania API).

Część pytań:

  • czy to w ogóle jest możliwe?
  • jak działa aplikacja, jeśli nikogo nie ma na stronie internetowej?
  • oznacza to, że Express server.js jest zawsze aktywny
  • a interfejs użytkownika React działa tylko wtedy, gdy ktoś otwiera witrynę, aby zobaczyć, co się dzieje z danymi

  • Jak wdrożyć aplikację React z Express? czy to jest dobre?:

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


  • jak hostować - gdzie wdrożyć? Na stronach Github?
  • czy przy wdrożeniu automatycznie uruchamia się serwer ekspresowy, czy też potrzebuję "npm start" na hostingu
  • lub otwórz aplikację po raz pierwszy (otwórz stronę internetową)
  • jak to działa
  • czy potrzebuję django

co jest lepsze:

  • jeśli zdecyduję się udostępnić moją aplikację innym użytkownikom:
  • dać każdemu kopię aplikacji React, a oni sami się wdrażają
  • lub
  • stwórz uniwersalną aplikację, aby każdy użytkownik mógł się zalogować i mieć własny serwer ekspresowy z pulpitem nawigacyjnym oraz własnymi danymi i stanami.

  • gdyby uniwersalna aplikacja była lepsza, gdyby się tego nauczyła


Dziękuję za każde pytanie, na które udzielono odpowiedzi.


Odpowiedzi

HeaustAzure Aug 30 2020 at 09:21

Serwer działa 24 godziny na dobę, 7 dni w tygodniu

kiedy użytkownik chce uzyskać dostęp do strony serwisu, serwer wysyła mu plan strony (kod HTML, css i js, który w tym przypadku jest tworzony przez Twój kod build reagującego js), wtedy Twoja aplikacja reaktywuje się.

masz już express po stronie serwera, nie potrzebujesz django.

tak, wdrażanie za pomocą heroku jest w porządku. zajmie się serwerem, ale będziesz musiał dodać skrypt w pliku package.json serwera, aby build zareagował, jeśli nie przesyłasz jeszcze react build do heroku.

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

tutaj klient to folder, w którym przechowujesz kod reakcji.

Jeśli nie ma to być publiczne, nie powinieneś tego mieć jako stanu reakcji.

Korzystanie z uniwersalnej rzeczy jest lepsze, wystarczy stworzyć system kont z uprawnieniem właściciela i mieć adres URL w postaci www.website.com/ nazwa użytkownika właściciela i gotowe, każdy właściciel otrzymuje własną wersję strony internetowej.

(na youtube jest niesamowity samouczek dotyczący stosu MERN, autorstwa Traversy Media, który odpowiada na większość twoich pytań)