React - bundlowanie i szkielet rozrastającej się appki.

0

Cześć
Czy ktoś mógłby mnie nakierować na to na co powinienem zwrócić uwagę przy pisaniu appki w ReactJs, która będzie się rozrastać zarówno o treści typowo statyczne (tekst na nowo powstających podstronach) jak i te bardziej dynamiczne (jakieś komponenty, które coś przeliczają <ceny, powierzchnie itp., itd.> ).
Chodzi mi o to żeby po zbundlowaniu strony(domyślnie do jednego pliku) i wrzuceniu jej na serwer móc później wrzucać na nowo tworzące się w późniejszym terminie podstrony.
Chciałbym te podstrony dodawać do appki bez bundlowania tego co było już wcześniej zbundlowane. Jak powinien wyglądać szkielet czegoś takiego ?
Wiem, że temat jest obszerny, więc wystarczy mi jakiś w miarę sensowny link. Dodam, że backend w razie czego również jako tako ogarniam.
Appka będzie się rozrastać co tydzień, a nawet częściej i chciałbym ją na bieżąco klientowi dostarczać (nowe podstrony) bez zmiany tego co już istnieje.

0

Musisz poczytać o tym jak robi się routing w React.

Przy aplikacji SPA będziesz musiał użyć biblioteki podobnej do react router (https://reactrouter.com/), która pozwala na tworzenie dynamicznego routingu.

Załóżmy, że mamy taki przykład

<Routes>
  <Route path="/" element={<HomePage />} />
  <Route path="/o-nas" element={<AboutUsPage />} />
  <Route path="/blog/:category" element={<CategoryPage />} />
  <Route path="/blog/:category/:articleId" element={<ArticlePage />} />
</Routes>

to przy adresach /blog/:category oraz /blog/:category/:articleId biblioteka będzie próbować dopasować dowolną treść jaką podamy jako adres url

/blog/sport/
/blog/sport/mistrzostwa-swiata-w-pilce-noznej

/blog/technologia
/blog/technologia/powstaly-nowe-procesory-amd

itd

Wtedy pobierasz dany adres po stronie aplikacji, wysyłasz go do swojego backendu przez API i on sprawdza, czy dana podstrona istnieje.

0

@Xarviel: Routing ogarniam, ale nie do końca o to mi chodziło.
Mam np. istniejącą stronę dot. finansów.
Po jakimś czasie np.(teraz tego nie wiem ) przychodzi mi do głowy wzbogacić ją o temat płac a dodatkowo chcę zamieścić na niej kalkulator płacowy.
Potem, po miesiącu lub tygodniu pomyślałem, że napiszę więc jakąś podstronę o kredytach a przy okazji pomyślałem o dodaniu do niej kalkulatora spłaty rat kredytów.
W przykładzie, który dałeś, z góry musze określić temat podstrony a chcę je umieszczać sukcesywnie, etapami.
Nie wiem czy muszę zagłębiać się np. w mikrousługi i konteneryzację ? Wolałbym nie.
Pomysły dla reacta + ewentualnie (niekoniecznie, ale jak trzeba) w backend?

0

@Xarviel: O.K. - jeżeli jesteś pewien i podtrzymujesz, że przy pomocy dynamicznego routingu w React można zrobić to o czym napisałeś i to co uszczegółowiłem w moim następnym poście to daj znać - zgłębię wówczas to jeszcze bardziej.

0
liter napisał(a):

@Xarviel: O.K. - jeżeli jesteś pewien i podtrzymujesz, że przy pomocy dynamicznego routingu w React można zrobić to o czym napisałeś i to co uszczegółowiłem w moim następnym poście to daj znać - zgłębię wówczas to jeszcze bardziej.

To jest jeden z elementów, który do tego będzie na pewno potrzebny.

Oprócz samego routingu możesz poczytać jeszcze o połączeniu Reacta z panelem administracyjnym (CMS) typu WordPress, Strapi, DatoCMS itd, bo myślę, że mniej więcej o to tobie chodzi.

Wtedy po stronie CMSa można zarządzać treścią na podstronach, a po stronie aplikacji musisz przygotować szablon, który to pobierze z bazy i wyświetli.

Rozwiązałoby to część problemów z dodaniem nowych podstron, albo zmianą tekstu na stronie, bo byłyby dynamiczne, ale przy niektórych zmianach nadal byłby potrzebny raz na jakiś czas build aplikacji.

0

Taka uwaga ode mnie. React w podejściu typowym SPA gdzie strony budowane są w całości przez javascript w kliencie przeglądarki to nie jest najlepsze rozwiązanie pod kątem SEO. Co prawda crawlery Google radzą sobie jakoś z odpalaniem javascriptu i zbudowaniem tego, ale Google to nie wszystko. Jeżeli myślisz o aspektach takich jak pozycjonowanie tych treści, miniaturki w social przy udostępnianiu itp to niestety ale react spa nie jest najlepszym rozwiązaniem. Tutaj może pomóc np. Next.js który może w locie renderować dynamiczny content na serwerze dzięki czemu pierwszy plik HTML pobrany przez przeglądarkę ma już w sobie właściwy content i meta tagi.

0

@szman: O.k. - z tym SEO chyba się zgadzam. Piszę, że "chyba", bo osobiście tego nie przerabiałem i nie wiem czy to co piszesz tak w 100% jest aktualne (świat leci do przodu), bo są jakieś rozwiązania, które w tym pomagają (react-gtm-module, google-ga4). Nie wiem czy tak dobrze jak render po stronie serwera, ale zarówno te narzędzia w połączeniu z rozwijającymi się narzędziami (botami) jakie zapuszcza mr. Google dają coraz lepsze rezultaty.
Nie będę się jednak upierał przy konkretnym rozwiązaniu. Nie chciałbym jednak odkrywać Ameryki na nowo i byłbym wdzięczny na podesłanie linka do jakiegoś w miarę dobrego opracowania dotyczącego tego zagadnienia - czyli: rozrastającej się sukcesywnie strony ( nowo tworzona treść + jakieś kalkulatory, dynamiczna interakcja) + SEO.
To wszystko bez konieczności grzebania w kodze istniejącej już, postawionej na serwerze stronie, ... a przynajmniej bez grzebania co tydzień lub dwa.
Co tydzień lub dwa chciałbym jedynie dołączać i integrować z istniejącą treścią ten nowy kod.

1 użytkowników online, w tym zalogowanych: 0, gości: 1