IT
Accedi Crea un account

Come installare SvelteKit su Saplo (app leggera con SSR)

SvelteKit compila i componenti in puro JavaScript già in fase di build, quindi l'applicazione finale è estremamente leggera e si avvia rapidamente anche su telefoni meno performanti. Con l'adattatore Node funziona come SSR (Server-Side Rendering) - un processo a lunga esecuzione che su Saplo avvii come servizio gestito, con deploy direttamente da un repository Git.

Grzegorz Kalmus ·

SvelteKit si differenzia da React e Vue già a livello di compilatore: i componenti si trasformano in puro JavaScript al momento della build, senza un DOM virtuale caricato nel browser. Il risultato è un bundle più piccolo e un avvio più rapido, particolarmente evidente su telefoni meno potenti e connessioni più lente. Con l'adattatore Node, SvelteKit funziona come SSR (Server-Side Rendering), un processo a lunga esecuzione analogo a Next.js o Nuxt, non solo una directory con file statici. Su Saplo, SvelteKit viene eseguito come servizio gestito con riavvio automatico.

A chi è rivolto SvelteKit su Saplo

Prima di iniziare l'installazione, verifica se è la scelta giusta per il tuo progetto:

  • un'applicazione in cui il peso del bundle è importante - meno JavaScript da scaricare e analizzare rispetto a un'applicazione React o Vue comparabile,
  • un sito con interazione reale, non solo contenuti - SvelteKit funziona bene sia per pagine semplici che per applicazioni complesse,
  • un progetto destinato a connessioni più lente e telefoni - un bundle più piccolo riduce il tempo di interattività,
  • vuoi implementazioni con git push invece della configurazione manuale del processo Node - colleghi il repository una volta e Saplo costruisce e riavvia il servizio automaticamente.

Ti serve solo una SPA leggera senza SSR? Controlla il catalogo delle applicazioni per lo stack Svelte separato (Vite, senza processo in background) - è una variante diversa da SvelteKit descritta in questa guida.

Requisiti

Per implementare SvelteKit su Saplo, ti servirà:

  • Un Box nel piano L o superiore - l'adattatore Node mantiene il processo costantemente in memoria, il SSR richiede una maggiore riserva di RAM rispetto a una normale pagina statica.
  • Minimo 512 MB di RAM libera e 3 GB di spazio su disco per il solo processo dell'applicazione.
  • Un dominio o un sottodominio *.saploapp.pl incluso in ogni piano.
  • Un repository Git, se desideri utilizzare la distribuzione automatica (opzionale per iniziare, puoi anche caricare l'applicazione come archivio .zip tramite il pannello).

Installazione passo dopo passo

  1. Nel Pannello Saplo, vai su Catalogo delle applicazioni e seleziona SvelteKit (categoria "Applicazioni").
  2. Indica un Box nel piano L o superiore e il nome dell'applicazione - da questo verrà creato il sottodominio predefinito.
  3. Scegli la versione di Node.js per il build (18, 20 o 22, predefinito 20) e conferma l'installazione.
  4. Il motore di scaffolding crea un progetto SvelteKit minimo, installa e sostituisce il file predefinito adapter-auto con @sveltejs/adapter-node in svelte.config.js, compila il progetto nella directory build/ e lo avvia tramite supervisor sulla porta 3000, mentre nginx proxyzza il traffico dal dominio a questa porta.
  5. Al termine dell'installazione, il dominio del passaggio 2 mostra la pagina iniziale di SvelteKit - da questo momento in poi, puoi deployare il tuo codice su di essa.

Deploy del tuo codice con Git

  1. Nei dettagli dell'applicazione, trova la sezione Git / CI-CD e clicca su "Collega GitHub", conferma l'installazione dell'applicazione "Saplo Deploy" e indica il repository con il progetto SvelteKit.
  2. Assicurati che il progetto abbia @sveltejs/adapter-node installato in svelte.config.js - senza di esso, la build genererà una versione per un ambiente diverso, non per un processo Node a lungo termine.
  3. Nella directory principale del repository, inserisci il file saplo.yaml ed esegui il push al branch di produzione (di default main).
  4. Ogni successivo git push a questo branch avvia la build e il riavvio del servizio; puoi vedere lo stato nella scheda Deployment.
  5. La build crea la directory build/ con un server Node, che Saplo avvia come servizio gestito.

Esempio di un file saplo.yaml minimo per SvelteKit:

name: my-project
stack: sveltekit
runtime:
  node: "22"
build:
  install: npm ci
  command: npm run build
start:
  command: node build
  port: 3000

SvelteKit su Saplo vs. alternative

Vercel per SvelteKit VPS proprio SvelteKit su Saplo
Modello di fatturazione consumo di funzioni e trasferimento, aumenta con il traffico costo fisso del server, configurazione manuale costo fisso del Box
Deploy da Git sì, nativamente da configurare manualmente (CI/CD) sì, git push al branch di produzione
Avvio processo SSR completamente gestito pm2 o systemd manualmente servizio gestito con auto-restart
Adapter richiede un adapter per la piattaforma si configura manualmente adapter-node sostituito automaticamente durante l'installazione

Domande frequenti

Qual è la differenza tra SvelteKit e lo stack Svelte standard nel catalogo? SvelteKit con l'adattatore Node è un SSR - un processo a lunga esecuzione. Lo stack Svelte è una pura SPA costruita con Vite, senza un processo in background, più leggero da mantenere, ma senza rendering lato server.

Devo sostituire manualmente l'adattatore con Node nel mio progetto? Se il tuo progetto ha un adapter-auto predefinito, sostituiscilo con @sveltejs/adapter-node prima del primo deploy tramite Git - altrimenti la build genererà una versione per un ambiente diverso.

Quanta RAM richiede SvelteKit in pratica? Il manifest della ricetta indica un minimo di 512 MB, ma con traffico di produzione reale è meglio pianificare un Box L, in modo che il processo SSR abbia un margine per i picchi di carico.

Cosa succede se la build fallisce? La precedente versione funzionante dell'applicazione rimane al suo posto, Saplo non la sostituisce con una danneggiata.

Otterrò SSL e il mio dominio? Sì, il certificato SSL è automatico e il dominio o sottodominio *.saploapp.pl è incluso nel prezzo di ogni piano.

Puoi configurare SvelteKit su Saplo da zero a un dominio funzionante in pochi minuti, e ogni git push successivo riavvia il servizio con la nuova versione senza il tuo intervento. Se il progetto non necessita di SSR, controlla lo stack Svelte più leggero nello stesso catalogo.

  • #Git Deploy
  • #JavaScript
  • #Guida
  • #Svelte
  • #SvelteKit