SvelteKit różni się od Reacta i Vue już na poziomie kompilatora - komponenty zamieniają się w czysty JavaScript w czasie builda, bez wirtualnego DOM ładowanego do przeglądarki. Efekt to mniejszy bundle i szybszy start, szczególnie odczuwalny na słabszych telefonach i wolniejszych łączach. Z adapterem node SvelteKit działa jako SSR - długo żyjący proces analogiczny do Next.js czy Nuxt, nie tylko katalog ze statycznymi plikami. Na Saplo SvelteKit uruchamiasz jako usługę zarządzaną z automatycznym restartem.
Dla kogo jest SvelteKit na Saplo
Zanim zaczniesz instalację, sprawdź, czy to dobry wybór dla Twojego projektu:
- aplikacja, w której liczy się waga bundla - mniej JavaScriptu do pobrania i sparsowania niż w porównywalnej aplikacji React czy Vue,
- strona z realną interakcją, nie tylko treścią - SvelteKit dobrze się sprawdza zarówno w prostych stronach, jak i rozbudowanych aplikacjach,
- projekt kierowany na słabsze łącza i telefony - mniejszy bundle skraca czas do interaktywności,
- chcesz wdrożeń z
git pushzamiast ręcznej konfiguracji procesu Node - podpinasz repozytorium raz, a Saplo buduje i restartuje usługę automatycznie.
Potrzebujesz tylko lekkiego SPA bez SSR? Sprawdź w katalogu aplikacji osobny stack Svelte (Vite, bez procesu w tle) - to inny wariant niż SvelteKit opisany w tym poradniku.
Wymagania
Żeby postawić SvelteKit na Saplo, potrzebujesz:
- Boxa w planie L lub wyższym - adapter node trzyma proces stale w pamięci, SSR potrzebuje więcej zapasu RAM niż zwykła strona statyczna,
- minimum 512 MB wolnego RAM i 3 GB miejsca na dysku pod sam proces aplikacji,
- domeny albo subdomeny
*.saploapp.plw cenie każdego planu, - repozytorium Git, jeśli chcesz korzystać z automatycznego wdrażania (opcjonalne na start, aplikację możesz też wgrać archiwum
.zipprzez panel).
Instalacja krok po kroku
- W panelu Saplo wejdź w Katalog aplikacji i wybierz SvelteKit (kategoria "Aplikacje").
- Wskaż Box w planie L lub wyższym oraz nazwę aplikacji - z niej powstaje domyślna subdomena.
- Wybierz wersję Node.js do builda (18, 20 albo 22, domyślnie 20) i zatwierdź instalację.
- Silnik scaffolduje minimalny projekt SvelteKit, instaluje i podmienia domyślny
adapter-autona@sveltejs/adapter-nodewsvelte.config.js, buduje projekt do katalogubuild/i uruchamia go przez supervisora na porcie 3000, a nginx proxy'uje ruch z domeny na ten port. - Po zakończeniu instalacji domena z kroku 2 pokazuje startową stronę SvelteKit - od tego momentu wdrażasz na nią własny kod.
Wdrożenie własnego kodu przez Git
- W szczegółach aplikacji znajdź sekcję Git / CI-CD i kliknij "Połącz GitHub", potwierdź instalację aplikacji "Saplo Deploy" i wskaż repozytorium z projektem SvelteKit.
- Upewnij się, że projekt ma zainstalowany
@sveltejs/adapter-nodewsvelte.config.js- bez niego build wygeneruje wersję pod inne środowisko, nie pod długo działający proces Node. - W katalogu głównym repozytorium umieść plik
saplo.yamli wypchnij go na gałąź produkcyjną (domyślniemain). - Każdy kolejny
git pushna tę gałąź uruchamia build i restart usługi, status widzisz w zakładce Deploymenty. - Build tworzy katalog
build/z serwerem Node, który Saplo uruchamia jako usługę zarządzaną.
Przykład minimalnego pliku saplo.yaml dla SvelteKit:
name: moj-projekt
stack: sveltekit
runtime:
node: "22"
build:
install: npm ci
command: npm run build
start:
command: node build
port: 3000
SvelteKit na Saplo kontra alternatywy
| Vercel dla SvelteKit | Własny VPS | SvelteKit na Saplo | |
|---|---|---|---|
| Model rozliczenia | zużycie funkcji i transferu, rośnie z ruchem | stały koszt serwera, konfiguracja ręczna | stały koszt Boxa |
| Wdrożenia z Gita | tak, natywnie | trzeba złożyć samemu (CI/CD) | tak, git push na gałąź produkcyjną |
| Uruchomienie procesu SSR | w pełni zarządzane | pm2 albo systemd ręcznie | usługa zarządzana z auto-restartem |
| Adapter | wymaga adaptera pod platformę | konfigurujesz ręcznie | adapter-node podmieniany automatycznie przy instalacji |
Najczęstsze pytania
Czym różni się SvelteKit od zwykłego stacku Svelte w katalogu? SvelteKit z adapterem node to SSR - długo działający proces. Stack Svelte to czysty SPA budowany przez Vite, bez procesu w tle, lżejszy w utrzymaniu, ale bez renderowania po stronie serwera.
Czy muszę ręcznie podmieniać adapter na node we własnym projekcie?
Jeśli Twój projekt ma domyślny adapter-auto, zamień go na @sveltejs/adapter-node przed pierwszym wdrożeniem przez git - inaczej build wygeneruje wersję pod inne środowisko.
Ile RAM potrzebuje SvelteKit w praktyce? Manifest przepisu podaje minimum 512 MB, ale pod realnym ruchem produkcyjnym lepiej zaplanować Box L, żeby proces SSR miał zapas na skoki obciążenia.
Co się stanie, jeśli build się nie powiedzie? Poprzednia działająca wersja aplikacji zostaje na miejscu, Saplo nie podmienia jej na zepsutą.
Czy dostanę SSL i własną domenę?
Tak, certyfikat SSL jest automatyczny, a domenę albo subdomenę *.saploapp.pl masz w cenie każdego planu.
SvelteKit na Saplo stawiasz od zera do działającej domeny w kilka minut, a każdy kolejny git push restartuje usługę z nową wersją bez Twojego udziału. Jeśli projekt nie potrzebuje SSR, sprawdź w tym samym katalogu lżejszy stack Svelte.