Gatsby buduje Twoją stronę do zwykłych plików w public/: HTML dla każdej podstrony plus JavaScript, który przyspiesza nawigację. Odkąd Gatsby Cloud zamknięto w 2023 roku, wiele stron Gatsby potrzebowało nowego domu. Lobsite hostuje zbudowany folder: uruchom gatsby build, potem npx lobsite, a strona będzie działać pod adresem *.lobsite.app z HTTPS.
Jak to działa
- Zbuduj stronę przez
npx gatsby build(albonpm run build). Gatsby zapisze ją wpublic/. - Uruchom
npx lobsitew projekcie. Znajdziepublic/i go wdroży; w projekcie Gatsby to wynik builda, a Twoje własne pliki statyczne leżą wstatic/. Pierwsze wdrożenie nie wymaga konta i trwa 6 godzin. - Zachowaj ją linkiem do przejęcia, na darmowym koncie. Potem te same dwa polecenia aktualizują ten sam adres.
Ustawienia gatsby-config
// gatsby-config.js
module.exports = {
siteMetadata: { siteUrl: "https://my-site.lobsite.app" },
};
siteMetadata.siteUrlto Twój pełny adres. Czytają gogatsby-plugin-sitemap, linki kanoniczne i kanały.pathPrefixnie jest potrzebny: strona jest serwowana od początku swojego adresu. Jeśli ustawiłeś go dla GitHub Pages, buduj bez--prefix-paths.gatsby cleanczyści cache ipublic/. Uruchom go, jeśli wdrożenie pokazuje strony, które usunąłeś.
Co wymaga funkcji serwerowych Gatsby
Strony statyczne, gatsby-plugin-image i dane z GraphQL działają, bo są rozwiązywane podczas gatsby build. Trzy funkcje wymagają serwera i nie działają w Lobsite: Gatsby Functions (src/api), renderowanie na serwerze z getServerData i Deferred Static Generation. Funkcję obsługującą formularz kontaktowy zastąp formularzem wysyłającym do /_lobsite/forms/contact; zobacz formularze. Przekierowania tworzone przez createRedirect wymagają wtyczki hostingu; w Lobsite umieść je zamiast tego w lobsite.toml, z pomocą Generatora przekierowań.
Pliki są przechowywane według hasha. Ponowne wdrożenie niezmienionej strony wgrywa 0 bajtów.
Podgląd przed publikacją. Wycofanie jednym kliknięciem, razem z przekierowaniami.
Każda strona dostaje adres *.lobsite.app z HTTPS od pierwszego wdrożenia.
Skieruj formularz na /_lobsite/forms/contact. Filtr spamu w zestawie.
Przekierowania, nagłówki i formularze są w lobsite.toml i wędrują z każdym wdrożeniem.
Wdrożenie bez konta działa przez 6 godzin. Link do przejęcia pozwala je zatrzymać, za darmo.
Porównanie hostingów dla Gatsby
| Lobsite | Netlify | GitHub Pages | |
|---|---|---|---|
| Statyczne strony Gatsby | Tak | Tak | Tak |
| Functions, SSR, DSG | Nie | Tak | Nie |
| Build na serwerze | Nie: wdrażasz public/ |
Tak | W GitHub Actions |
| Wysyłane tylko zmienione pliki | Tak | Tak | Przez Git |
| Konto przed pierwszym wdrożeniem | Nie: 6 godzin online, potem zachowaj za darmo | Tak | Tak, i repozytorium |
| Formularze bez backendu | Tak, gdy strona jest na koncie | Tak | Nie |
| Własna domena | Tak, za darmo | Tak | Tak |
Netlify, który przejął Gatsby w 2023 roku, uruchamia też jego funkcje serwerowe. Dla statycznej strony Gatsby, a takich jest większość, Lobsite wdraża zbudowany folder jednym poleceniem, a dzięki haszowanym nazwom plików w Gatsby ponowny build wysyła tylko pliki, które naprawdę się zmieniły.
Najczęstsze pytania
Gdzie hostować stronę Gatsby teraz, gdy Gatsby Cloud nie istnieje?
Każdy hosting statyczny obsłuży zbudowaną stronę Gatsby. W Lobsite uruchom gatsby build i npx lobsite; pierwsze wdrożenie nie wymaga konta.
Dlaczego npx lobsite wdraża public/ dla Gatsby?
Bo Gatsby zapisuje zbudowaną stronę w public/. Własne pliki do skopiowania, np. favicon.ico, trafiają do static/, a Gatsby kopiuje je do public/ podczas builda.
Czy gatsby-plugin-image działa na hostingu statycznym?
Tak. Obrazy są skalowane podczas gatsby build i zapisywane w public/, więc w chwili wdrożenia są zwykłymi plikami.
Czy moja strona 404 z Gatsby zadziała?
Tak. src/pages/404.js generuje 404.html, a Lobsite serwuje go ze statusem 404 dla każdego nieistniejącego adresu.