Express server, Back-End, API [zamknięte]
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
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ń)