Co już robiłemReactJS server side rendering fo pojedyncza strona aplikacji
- Mam frontend w całości zbudowany z React.JS.
- Cała logika biznesowa jest obsługiwana przez Django i udostępniana przez Django REST Framework za pośrednictwem interfejsu API.
- Jestem w stanie budować dla różnych środowisk mobilnych (Android i iOS przez Cordova)
- Aplikacja internetowa jest dostępna poprzez mój projekt Django (taki sam, który eksponuje api), frontend jest podobny do tego samego kodu ReactJS w pakiecie przez pakiet internetowy.
App ma jeden punkt wejścia, main.js który jest dołączony wersja moich react.js komponentów i zależności, a więc moja index.html zazwyczaj wygląda następująco:
<body> <script type="text/javascript" src="/static/bundles/main-3997ad3476694c3c91cf.js"></script> </body>
Co chcę zrobić
- Chcę zapewnić renderowania po stronie serwera z mojej aplikacji internetowej, aby pozwolić robotów internetowych poprawnie indeksów na moją aplikację internetową (ja nie szukam po stronie serwera renderowania ruchoma B uilds)
Jak mogę sobie z tym poradzić, biorąc pod uwagę fakt, że moja aplikacja jest aplikacją na jedną stronę? Nie chcę wymyślać koła, ani kopiować kodu. Jaki rodzaj serwera node.js muszę napisać, aby uzyskać automatyczne renderowanie po stronie serwera? Czy istnieje sposób dostarczenia renderowania po stronie serwera bezpośrednio w Django (za pomocą niektórych narzędzi do czytania i interpretowania końcowych wyników strony wyświetlanych po stronie klienta i zwracania tego surowego html?)
Zwykle instalowałeś backend Node.js i używałeś React.renderToString. Ponieważ używasz Django, być może będziesz musiał użyć czegoś takiego https://github.com/markfinger/python-react –
Już szukałem tego pakietu, ale nie mogę znaleźć sposobu, żeby to działało ... Nie radzę sobie z parametrami "POST", które nie są akceptowane przez serwer, i nie wiem, jak skonfigurować "reverse proxy", o którym mówi ... – Pcriulan
Co z tą biblioteką? https://github.com/defrex/django-react Nie jestem zaznajomiony z Django niestety, aby dać rzeczywistą pomoc, ale myślę, że po prostu chcesz uzyskać dostęp do metody renderToString Reacta podczas części renderowania serwera na Django. Czy istnieje sposób na uruchamianie JS po stronie serwera w Django? –