Astro domyślnie buduje stronę statyczną: każda podstrona staje się plikiem HTML w dist/, z samym JavaScriptem potrzebnym Twoim wyspom (islands). Ten folder to wszystko, czego potrzebuje Lobsite. Uruchom npm run build, potem npx lobsite w projekcie, a strona będzie działać pod adresem *.lobsite.app z HTTPS. Możesz też upuścić dist/ w polu powyżej.
Jak to działa
- Zbuduj stronę przez
npm run build(czyliastro build). Strony, obrazy i skrypty trafią dodist/. - Uruchom
npx lobsitew projekcie. Wdrażadist/, a niepublic/, który Astro już skopiował do builda. Pierwsze wdrożenie nie wymaga konta i trwa 6 godzin. - Zachowaj ją linkiem do przejęcia, na darmowym koncie. Folder zapisuje się w
lobsite.toml, więc kolejny build wdrażasz tym samymnpx lobsite.
Ustawienia w astro.config.mjs, które warto sprawdzić
import { defineConfig } from "astro/config";
export default defineConfig({
site: "https://my-site.lobsite.app",
trailingSlash: "ignore",
});
siteto Twój pełny adres. Astro używa go do adresów kanonicznych,Astro.sitei sitemapy z@astrojs/sitemap. Ustaw go na adres*.lobsite.appi zmień, gdy przejdziesz na własną domenę.basezostaje nieustawione: strona jest serwowana z głównego poziomu adresu, a nie z podfolderu jak strona projektu w GitHub Pages.build.formatmoże zostać domyślne.about/index.htmlotwiera się pod/about/, a plikabout.htmlpod/about.
Co działa, a co wymaga serwera
Działa wszystko, co Astro renderuje podczas builda: content collections, Markdown i MDX, obrazy astro:assets (optymalizowane w czasie builda) oraz wyspy z React, Vue, Svelte czy Solid działające w przeglądarce. Nie działa nic, co uruchamia się przy każdym żądaniu: strony z export const prerender = false, output: "server", Astro Actions i endpointy API, które nie są prerenderowane. One wymagają adaptera serwerowego, a Lobsite serwuje tylko pliki. Formularz kontaktowy skieruj na /_lobsite/forms/contact zamiast na Astro Action; zobacz formularze.
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 Astro
| Lobsite | Netlify | Vercel | GitHub Pages | |
|---|---|---|---|---|
| Statyczne strony Astro | Tak | Tak | Tak | Tak, z GitHub Action od Astro |
| Renderowanie na serwerze (adapter) | Nie | Tak | Tak | Nie |
| Build na serwerze | Nie: wdrażasz dist/ |
Tak | Tak | W GitHub Actions |
| Konto przed pierwszym wdrożeniem | Nie: 6 godzin online, potem zachowaj za darmo | Tak | Tak | Tak, i repozytorium |
| Formularze bez backendu | Tak, gdy strona jest na koncie | Tak | Nie | Nie |
| Własna domena | Tak, za darmo | Tak | Tak | Tak |
Jeśli części Twojej strony renderują się przy żądaniu, wybierz hosting z adapterem Astro. Jeśli strona jest statyczna, co jest domyślne w Astro, Lobsite wdroży ją w kilka sekund z Twojego komputera, CI lub agenta AI, wgrywając tylko pliki zmienione przez build.
Najczęstsze pytania
Czy potrzebuję adaptera, aby hostować Astro w Lobsite?
Nie. Adaptery służą do renderowania na serwerze. Statyczna strona Astro, domyślna, nie potrzebuje adaptera: wdróż folder dist/.
Dlaczego npx lobsite wdraża dist/, a nie public/?
W projekcie Astro public/ zawiera pliki, które build kopiuje bez zmian, np. favicon.svg. Zbudowana strona to dist/. Lobsite widzi astro w package.json i pomija public/ za Ciebie.
Czy mogę dodać własną stronę 404 do strony w Astro?
Tak. Utwórz src/pages/404.astro; Astro zbuduje z niego 404.html, a Lobsite poda go ze statusem 404 dla każdego nieistniejącego adresu.
Czy optymalizacja obrazów w Astro działa?
Tak. astro:assets zmienia rozmiar i konwertuje obrazy podczas astro build, więc zoptymalizowane pliki są już w dist/, gdy wdrażasz. Serwera wymagają tylko usługi obrazów działające przy każdym żądaniu.