lobsite! Logg inn Registrer deg

Statisk SvelteKit-hosting

Host et forhåndsrendret SvelteKit-nettsted: bygg med adapter-static, og npx lobsite deployer build/ med HTTPS, skjemaer og forhåndsvisnings-URL.

Med adapter-static skriver builden mappen build/, og det er den som deployes.
Slipp en HTML-fil, en mappe eller en .zip Sjekkes i nettleseren din; ingenting lastes opp før du publiserer.

SvelteKit kan forhåndsrendre hver side ved bygging og skrive resultatet som vanlige filer med @sveltejs/adapter-static. Lobsite hoster de filene. Bygg med den statiske adapteren, kjør npx lobsite, og nettstedet er live på en *.lobsite.app-adresse med HTTPS. Denne siden handler om fullt forhåndsrendrede nettsteder. Serverruter og form actions trenger en vert som kjører SvelteKit på en server.

Slik fungerer det

  1. Bytt til den statiske adapteren og forhåndsrendre hver side (se under), og kjør så npm run build. Nettstedet havner i build/.
  2. Kjør npx lobsite i prosjektet. Den deployer build/, ikke static/ eller .svelte-kit/. Første deploy trenger ingen konto og varer i 6 timer.
  3. Behold det med krav-lenken, i en gratis konto. Deretter oppdaterer npm run build && npx lobsite den samme adressen.

adapter-static og forhåndsrendring

// svelte.config.js
import adapter from "@sveltejs/adapter-static";

export default {
  kit: { adapter: adapter() },
};
// src/routes/+layout.js
export const prerender = true;
  • prerender = true i rot-layouten gjør at hver side rendres ved bygging. Kan en side ikke forhåndsrendres, feiler bygget og sier hvilken, så ingenting ødelagt blir deployet.
  • fallback: "200.html" er for sider som ikke kan forhåndsrendres: SvelteKit skriver et 200.html-skall, og Lobsite leverer det for alle stier som ikke er en fil, så de sidene rendres i nettleseren. Forhåndsrendrede sider er likevel bedre for søkemotorer og første lasting.
  • trailingSlash kan stå på standardverdien: /about skrives som about.html og leveres på /about.

Hva som kjører ved bygging, og hva som ikke kan

load-funksjoner, også de i +page.server.js, kjører under bygget når en side forhåndsrendres, så data fra filer eller API-er bakes inn i HTML-en. Dynamiske ruter finnes ved å følge lenker fra sidene dine; list opp dem som ikke er lenket til, i prerender.entries. Det som ikke kan fungere uten server: form actions, +server.js-endepunkter utenom forhåndsrendrede GET-endepunkter, hooks som kjører per forespørsel, og lesing av informasjonskapsler. Send et kontaktskjema til /_lobsite/forms/contact i stedet for til en form action; se skjemaer.

Bare endrede filer lastes opp

Filer lagres etter hash. Å deploye et uendret nettsted på nytt laster opp 0 byte.

Hver deploy får en URL

Forhåndsvis før du går live. Rull tilbake med ett klikk, inkludert videresendinger.

HTTPS overalt

Hvert nettsted får en *.lobsite.app-adresse med HTTPS fra første deploy.

Skjemaer som bare fungerer

Pek et skjema mot /_lobsite/forms/contact. Spamfilter inkludert.

Konfigurasjon i én fil

Videresendinger, headere og skjemaer ligger i lobsite.toml og følger med hver deploy.

Grenser du kan lese

Hver grense er publisert, og hver feil forteller deg hva du skal gjøre videre.

SvelteKit-verter sammenlignet

Lobsite Vercel Netlify Cloudflare Pages
Forhåndsrendrede nettsteder (adapter-static) Ja Ja Ja Ja
Serverrendering, form actions Nei Ja Ja Ja
Bygger på serveren Nei: du deployer build/ Ja Ja Ja
Konto før første deploy Nei: live i 6 timer, så behold det gratis Ja Ja Ja
Skjemaer uten backend Ja, når nettstedet er i en konto Nei Ja Nei
Eget domene Ja, gratis Ja Ja Ja

Hvis appen din rendrer sider ved forespørsel, bruk en adapter for en vert som kjører den. Kan hver side forhåndsrendres, som for markedsføringsnettsteder, blogger og dokumentasjon, hoster Lobsite den med én kommando og laster bare opp filene hvert bygg har endret.

Ofte stilte spørsmål

Hvilken SvelteKit-adapter bør jeg bruke for Lobsite?

@sveltejs/adapter-static, med hver side forhåndsrendret. adapter-auto og plattformadapterne bygger for servere og funksjoner, som Lobsite ikke kjører.

Kan en SvelteKit-SPA med reserveside kjøre her?

Ja. Sett adapter({ fallback: "200.html" }): Lobsite leverer 200.html med status 200 for alle stier som ikke er en fil, og SvelteKits ruter rendrer siden i nettleseren. Forhåndsrendrede sider leveres fortsatt som de er.

Hvorfor feilet SvelteKit-bygget mitt med en forhåndsrendringsfeil?

En side kunne ikke rendres ved bygging, ofte fordi den leser url.searchParams, informasjonskapsler eller en form action. Flytt det arbeidet til nettleseren, eller inn i en load-funksjon som bare bruker data som er tilgjengelige ved bygging.

Fungerer sideovergangene i SvelteKit fortsatt etter forhåndsrendring?

Ja. De forhåndsrendrede sidene laster SvelteKits klient, som tar over navigasjonen etter første side, så lenker bytter fortsatt side uten full omlasting.

Se også