0Pricing
Frontend Academy · Lezione

Deployment: statico e SSR

Generare un sito completamente statico con nuxt generate, eseguire il deploy di un’app SSR su un server Node o su un runtime edge e configurare il motore Nuxt nitro

Deployment: statico e SSR è una lezione Frontend Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Frontend Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Frontend Academy include 4 lezioni in totale.

Nuxt esegue il rendering ovunque

Nuxt 3 supporta quattro modalità di deployment: Static (nuxt generate), SSR (server Node), Edge (Cloudflare Workers, Vercel Edge) e Hybrid (per route).

Deployment statico

nuxt generate esegue il pre-rendering di ogni route in file HTML. Esegua il deploy della cartella .output/public su qualsiasi hosting statico (Netlify, Vercel, GitHub Pages, S3).

npm run generate
# .output/public/ contains:
# index.html, about/index.html, blog/post-1/index.html, ...

# Deploy:
npx wrangler pages deploy .output/public
# or
rsync -av .output/public/ user@host:/var/www/

Generazione delle route dinamiche

Per route come /blog/[slug], Nuxt deve conoscere tutti gli slug. Li fornisca tramite nitro.prerender.routes nella configurazione.

// nuxt.config.ts
export default defineNuxtConfig({
  nitro: {
    prerender: {
      routes: ['/blog/post-1', '/blog/post-2', '/blog/post-3']
    }
  }
});

// Or auto-discover: Nitro follows links from /, generating any it finds.

Deployment SSR su Node

nuxt build crea un server Nitro. Esegua il deploy su qualsiasi host Node (Render, Railway, Fly.io o il proprio VPS) eseguendo node .output/server/index.mjs.

npm run build
# .output/server/index.mjs is the Nitro server
# .output/public/ contains static assets

node .output/server/index.mjs # starts on PORT (default 3000)

Nitro — il server universale

Il server di Nuxt 3 è Nitro: un motore portabile destinato a qualsiasi runtime: Node, Bun, Deno, Cloudflare Workers, Vercel, Netlify e AWS Lambda. Cambi destinazione con nitro.preset.

Deployment edge (Cloudflare Workers)

Imposti il preset su cloudflare-pages o cloudflare. La build produce un Worker che viene eseguito sull'edge di Cloudflare.

// nuxt.config.ts
export default defineNuxtConfig({
  nitro: { preset: 'cloudflare-pages' }
});

// Build, then:
npx wrangler pages deploy ./dist

Deployment edge (Vercel Edge)

Vercel rileva automaticamente Nuxt e utilizza il preset appropriato. Per forzare l'Edge Runtime: preset: 'vercel-edge'.

Rendering ibrido

Route diverse possono essere sottoposte a rendering in modi diversi. Configuri questo comportamento con routeRules.

// nuxt.config.ts
export default defineNuxtConfig({
  routeRules: {
    '/':           { prerender: true },        // SSG
    '/blog/**':    { isr: 60 },                // ISR every 60s
    '/dashboard/**': { ssr: false },           // SPA (client-only)
    '/admin/**':   { ssr: true }               // SSR (per-request)
  }
});

Scelta tra statico e SSR

Statico: contenuti che cambiano raramente, massima velocità e hosting CDN economico (blog, siti di marketing, documentazione). SSR: contenuti per utente, dati dinamici e risultati di ricerca (dashboard, e-commerce). L'approccio ibrido consente di combinare le modalità per route.

Variabili d'ambiente

Utilizzi runtimeConfig in nuxt.config.ts. public è esposto al client; il resto rimane accessibile solo al server.

export default defineNuxtConfig({
  runtimeConfig: {
    apiSecret: '',         // server-only, set via NUXT_API_SECRET env
    public: {
      apiBase: 'https://api.example.com' // accessible client-side
    }
  }
});

// In a component:
const config = useRuntimeConfig();
console.log(config.public.apiBase);

Caching della build in CI

Memorizzi nella cache .nuxt/ e node_modules/ tra un'esecuzione CI e l'altra per velocizzare le build. Su Vercel e Netlify questo avviene automaticamente.

Test delle prestazioni

Dopo il deploy, esegua Lighthouse sull'URL del deployment, non su localhost. In questo modo testerà una CDN reale, edge location reali e una limitazione reale della CPU.

Verifica rapida

Quale comando di Nuxt 3 esegue il pre-rendering di tutte le route in HTML statico per il deployment su una CDN come Netlify o Cloudflare Pages?

Riepilogo: deployment di Nuxt

nuxt generate → statico (esegua il deploy di .output/public). nuxt build → SSR (esegua il deploy con Node). I preset Nitro supportano Cloudflare, Vercel, Netlify, AWS ecc. routeRules per il rendering ibrido (prerender, isr, ssr e spa per route). runtimeConfig per le variabili d'ambiente (public è esposto al client). Esegua i test con Lighthouse sull'URL del deployment.

Domande Frequenti

La lezione «Deployment: statico e SSR» è gratuita?

Sì — il testo completo di «Deployment: statico e SSR» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Frontend Academy, passa a CoddyKit PRO. Il corso Frontend Academy include 4 lezioni in totale.

Cosa imparerò in «Deployment: statico e SSR»?

Generare un sito completamente statico con nuxt generate, eseguire il deploy di un’app SSR su un server Node o su un runtime edge e configurare il motore Nuxt nitro Eserciti Frontend Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Frontend Academy?

Non è richiesta alcuna esperienza precedente. Frontend Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Deployment: statico e SSR»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Frontend Academy?

Sì. Ogni lezione Frontend Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Routing basato sui file e auto-import
  2. useFetch e useAsyncData
  3. Moduli Nuxt: immagini, autenticazione e i18n
  4. Deployment: statico e SSR
← Torna a Frontend Academy