Szybkie i Nowoczesne Strony
4 godz. 29 min · ReactJS · Full-stack i Programowanie
Adam RomanskiFrontend developer & YouTube CreatorI tak i nie! Gatsby to faktycznie React wzbogacony o pewne supermoce. Na początku kursu dowiesz się, jak poprawnie ich używać. Opowiem Ci w jaki sposób zaszyto Reach Router we wnętrze Gatsbyego – zobaczysz, że to bardzo intuicyjne i wygodne rozwiązanie. Ponadto opowiem Ci, w jaki sposób tworzyć uniwersalne, globalne style i layouty dla naszej aplikacji, aby zaoszczędzić sobie pracy. W tym wszystkim pomogą nam pluginy przygotowane specjalnie dla Gatsbyego (psst! Czy wiesz, że Gatsby posiada ich ponad 1500?).
Nie masz konta na fejsie? Nie szkodzi! Facebook stworzył nie tylko popularną platformę społecznością (i Reacta 😎), ale także przełomową specyfikację dla GraphQL – języka służącego do komunikacji między klientem a serwerem. To właśnie GraphQL zasila Gatsbyego w warstwę danych. Nie ważne czy mówimy o obrazkach, plikach markdown, json, yaml czy po prostu API – aby to wszystko ze sobą pogodzić musisz znać GraphQL. A ja w tym kursie pokażę Ci, że korzystanie z niego to czysta przyjemność.
Na początku pomysł importowania obrazów przez GraphQL może Ci się wydawać przerostem formy nad treścią. Dlatego poświęciłem w tym kursie cały dział na to, aby pokazać Ci, jak potężne możliwości stoją przed developerem wyposażonym w GraphQL, Sharp Image Transformer oraz Gatsbyego. Zapomnij o skalowaniu, przerabianiu i dostosowywaniu obrazków ręcznie w programach graficznych. Sprytne rozwiązania w Gatsbym pozwolą Ci za pomocą paru linijek zoptymalizować zasoby wizualne dla twojej strony.
Zarządzanie treścią to krytyczny punkt wielu produktów cyfrowych – z jednej strony CMS (content management system) musi być użyteczny dla developera przygotowującego całą strukturę treści, ale z drugiej strony ich końcowym użytkownikiem zawsze jest edytor, który nie musi znać się na programowaniu. W tym kursie pokażę Ci, jak w dosłownie kilku krokach stworzyć wygodną w użyciu strukturę dla bloga w oparciu o pliki markdown. Z małym udziwnieniem. Będą to pliki MDX łączące prostotę plików markdown z potężnymi możliwościami Reacta.
HeadlessCMS to podejście, które może przywoływać na myśl horrory klasy B, natomiast ich działanie przyprawia o zachwyt rodem z komedii romantycznej. Gdy zobaczysz jak proste, intuicyjne i wygodne (zarówno dla developera i edytora) jest korzystanie z podejścia headless, już nigdy nie wrócisz do klasycznych CMS-ów. W tym kursie pokażę Ci to na przykładzie fenomenalnego produktu jakim jest DatoCMS, którego odkryłem podczas budowania dużej struktury informacji dla strony mojej firmy.
Deployment strony w Gatsbym zajmuje dosłownie kilka sekund, zwłaszcza jeśli użyjemy do tego odpowiednich narzędzi. W tym kursie dowiesz się, w jaki sposób Gatsby przygotowuje zasoby przed wysłaniem ich na serwer, skąd biorą się dane w Gatsbym oraz w jaki sposób wdrożyć gotową stronę za pomocą serwisu Netlify.
Ten kurs powstał z myślą o osobach, które chcą być na bieżąco ze zmieniającym się ekosystemem frontendowym. Kurs koncentruje się nie tylko na Gatsby.js, ale także na technologiach orbitujących wokół tej technologii, korespondujących z nowym trendem nazwanym JAMStack.
2.19.12+
Cześć większość kursu już za nami stworzyliśmy w tym kursie
dwie podstrony z czego jedna była naprawdę zaawansowana bo był to mechanizm
bloga więc większość czasu poświęciliśmy faktycznie na to
to żeby to opanować inne z podstron zachęcam cię do wykonania samodzielnie
galerię prawdopodobnie masz już ogarnięta to by było twoje zadanie domowe natomiast
strona about jest naprawdę świetnym ćwiczeniem do przetestowania sobie
możliwości datocms podpowiem ci tylko podobnie jak zrobiłem zresztą z galerią
że masz tutaj coś takiego jak model który jest single instance jest
to świetna metoda na tworzenie takich podstron które
są jednorazowe na naszych stronach bo często właśnie cms nie przewidują
tego typu modelu gdzie mamy na przykład stronę about która nie musi
mieć większej liczby instancji niż tę jedną która jest po prostu stroną
about więc jeśli sobie stworzysz tutaj about po prostu to możesz
zawrzeć w tym modelu to co musi się znajdować
na stronie about strona sama w sobie jest całkiem prosta masz tutaj idealne
po prostu pole do popisu żeby przetestować sobie gatsby image tytuły
paragrafy i jakieś tam dodatkowe stylowanie a teraz przyszła
już pora na zbudowanie naszego projektu i przygotowanie go do wyleployowania
na produkcję więc najpierw pokażę ci to jak wygląda zbudowana lokalnie
strona co tam się znajduje w ogóle i co możemy z tym zrobić przejdźmy sobie
teraz do kodu jestem na branchu 07 zauważ że w
moim folderze nie ma w ogóle public ani cache czyli mamy tutaj taką czystą
instalkę jak to się mówi wszystko przed nami pamiętaj żeby mieć plik and
gdzie będziesz mieć api datocms czyli token do twojego
cms to jest twój token pamiętaj musisz go sam skopiować i
teraz jedyne co nam pozostaje ponieważ wszystko inne już jest przygotowane to
po prostu wykonać komendę gatsby build to może chwilę potrwać okej
jak już będziemy mieć wszystko zbudowane to pojawi się oczywiście folder public w
którym będziemy mieć całą naszą paczkę i teraz jest
kilka strategii jakby deployowania tej strony ale o tym też za chwilę na
razie chcę ci pokazać jak możemy podejrzeć efekty tego co znalazło się w folderze public
i to na to też są oczywiście dwa sposoby przynajmniej ja znam dwa
jeden z nich jest stworzony przez gatsby po prostu nazywa się serve więc
jeśli teraz odpalimy npm run serve to na porcie 9000
na localhoscie będziemy mieć naszą stronę ale ta metoda została wprowadzona dość
niedawno więc chcę ci pokazać jeszcze taką bardziej uniwersalną metodę która nie jest uzależniona
od gatsbiego i którą wykorzystuje bardzo często też w jakiś tam innych
projektach które niekoniecznie wykorzystują gatsby więc może ci się akurat to spodoba czyli
jak odpalić taki serwer lokalny z jakimiś tam plikami które mamy
w danym folderze na przykład w folderze public wystarczy że wpiszesz npx
serve bez r na końcu serve public
czyli nazwa tego folderu który chcesz odpalić i teraz
na localhost 5000 na porcie 5000 mamy
dokładnie to samo co przy użyciu gatsby serve tylko no to jest taka bardziej niezależna
metoda więc wszystko działa jak należy nasze
obrazki ładują się błyskawicznie oczywiście dlatego że
to jest localhost w każdym razie nasza strona działa tak
jak należy i teraz wracając do tego
co możemy zrobić z tym public generalnie możemy zrobić na przykład coś takiego
że odpalamy sobie klienta ftp i wrzucamy po prostu
zawartość tego public na ftp czyli tak jak się wrzucało
kiedyś strony do tej pory się wrzuca tylko jakieś tam powiedzmy prostsze które nie
mają jeszcze tak zwanego continous integration czyli nie deployują
się automatycznie wtedy jeśli chcesz po prostu wrzucić gdzieś swoją stronkę
gatsby to wystarczy ci najprostszy na świecie serwer pamiętaj że to jest taka zwykła strona
oparta o html css i js tutaj nie ma żadnej magii dodatkowej
nie musisz mieć żadnych dodatkowych specjalnych serwerów po prostu wrzucasz to co
znajduje się w public na ftp i to działa ale
jeśli chcesz trochę bardziej wysublimowany sposób to możesz też skorzystać z netlify i ja
oczywiście rekomenduje ten sposób tych narzędzi do deploymentu też
jest naprawdę sporo mamy netlify circle ci buddy works jest tego
kilka netlify wybrałem dlatego że jest naprawdę bardzo proste w użyciu a
dodatkowo ma też hosting więc po prostu wyklikamy sobie
to w mgnieniu oka jeśli już się zalogujesz a zalogować
się możesz nawet swoim githubem więc to powinno trwać naprawdę sekundkę to
wybieramy sobie new site wybieramy skąd będzie ta strona
ciągnięta jakby skąd ją chcemy wziąć ja ją mam na githubie
możliwe że netlify zapyta cię teraz o autoryzację
na github i ja mam tutaj repozytorium tego kursu prywatnie na
razie u siebie gatsby eduweb kurs deployment pójdzie
z brancha 7 i teraz build command w naszym przypadku
to będzie po prostu build a publish directory to będzie
public i obawiam się że ten build mi padnie z tego
względu że ja mam zagnieżdżoną strukturę folderów w moim repo czyli
mamy 07 hatta website i dopiero mam projekt więc
mam wrażenie że muszę tutaj dodać jeszcze jedną rzecz czyli
base directory tutaj będziemy mieć 07 hatta
website i
wtedy mamy jeszcze zerknijmy sobie na kod 07
hatta website public powinno być okej overview
robimy deployment jeszcze raz to jest naprawdę lepsze
niż jakby się oglądało jak się woda gotuje podobno jak się patrzy to się nie wydeployuje planuję
zaraz zobaczymy i nasz deployment upada po raz drugi
ale jeszcze wrócimy sobie na chwilkę tutaj bo
zapomnieliśmy o jednej bardzo ważnej rzeczy o zmiennych
środowiskowych które mamy na local a nie mamy na netlify więc
skąd netlify może wiedzieć jaki my mamy klucz do naszego api te
dane są tutaj bezpieczne także nie ma się co martwić build
command npm run build zmieńmy
sobie wydaje wtedy to powinno być poprawne że
sam build to nie była poprawna forma tego no i co do
trzech razy sztuka clear cache and deploy site zobaczymy czy
tym razem pyknie i już widzimy że mamy tutaj komendy podobne
jak z naszego local więc wszystko wskazuje na to że
tym razem nawet datocms się zaczytał powinno
nam się udać no i pięknie ostatnia
komenda powinna budzić uśmiech na naszych twarzach site is
live mamy tutaj baton preview możemy sobie zobaczyć naszą stronę i
jest wszystko działa działają
nasze artykuły jeśli masz stronę galerię
to możesz się cieszyć także galerią wszystko
działa jak należy więc w ten
prosty sposób wydeployowaliśmy stronę na gatsby na netlify oczywiście
netlify i ma możliwość na przykład spięcia z tego jakąś domeną tutaj masz
ustawienia domeny więc jeśli chcesz to od razu podpiąć pod na przykład jakąś tam swoją
domenę to też możesz to zrobić generalnie ustawień
jest tutaj mnóstwo netlify jest naprawdę jednym z lepszych serwisów i wcale nie jest drogi
i nawet jeśli się korzysta z jakiś tam płatnych rzeczy oczywiście mnóstwo tych rzeczy
jest tutaj dostępnych za darmo więc nie przejmuj się tym i
tym sposobem dotarliśmy do końca tego kursu a ja zapraszam cię na ostatnią lekcję
która będzie takim przyjemnym podsumowaniem tego co tutaj zrobiliśmy