• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • Backend
    • Dev community
    • Carriere tech
    • Intelligenza artificiale
    • Interviste
    • Frontend
    • DevOps/Cloud
    • Linguaggi di programmazione
    • Soft Skill
  • Talent
    • Discover Talent
    • Jobs
    • Manifesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in
ads

CodemotionGiugno 3, 2024

Guida approfondita a Nuxt.js con esempi di codice

Frontend
nuxt.js guide with code examples
facebooktwitterlinkedinreddit

Guida Nuxt.js con esempi di codice

Che tu stia creando un blog personale, un’applicazione web dinamica o un sito di e-commerce complesso, Nuxt.js offre una suite di potenti funzionalità che possono semplificare il processo di sviluppo e migliorare le prestazioni del tuo sito.

Recommended article
Maggio 26, 2025

10 consigli per diventare esperto di React!

Lucilla Tomassi

Lucilla Tomassi

Frontend

Nuxt.js non è solo un altro strumento nell’arsenale del web developer; è un framework completo basato su Vue.js. Semplifica lo sviluppo di applicazioni web renderizzate dal lato server (SSR) e statiche, facilitando la creazione di siti web veloci, scalabili e ottimizzati per i motori di ricerca. Ciò che distingue Nuxt.js è la sua capacità di gestire le complessità dello sviluppo web moderno, permettendoti di concentrarti sulla scrittura della logica della tua applicazione senza preoccuparti dell’infrastruttura sottostante.

Esempi reali dell’uso di Nuxt.js

  1. Piattaforme di e-commerce:
    • Siti di e-commerce personalizzati costruiti con Nuxt.js e back-end RESTful Laravel, che offrono esperienze di acquisto senza interruzioni.
    • Applicazioni Web Progressive (PWA) di e-commerce costruite su Shopify, sfruttando Nuxt.js per migliorare le prestazioni e la scalabilità.
    • Siti web di e-commerce che utilizzano Nuxt.js per la gestione dinamica dei contenuti e avere una migliore SEO.
  2. Siti di contenuti e media:
    • Directory di podcast che utilizzano Nuxt.js per il rendering lato server e l’ottimizzazione SEO.
    • Siti web WordPress, che mostrano come Nuxt.js può funzionare con vari sistemi content management system.
  3. Siti aziendali e istituzionali:
    • Siti per aziende biotecnologiche, che utilizzano Nuxt.js per un design pulito e prestazioni rapide.
    • Portali web universitari che combinano Nuxt.js con API REST basate su Drupal per una gestione efficiente dei dati.
  4. Piattaforme comunitarie e sociali:
    • Jobboard costruite con Nuxt.js e API Rails, distribuite su piattaforme come Netlify per una gestione semplice.
    • Piattaforme che connettono sviluppatori in tutto il mondo, costruite con Nuxt.js e Django , facilitando le interazioni delle community e la condivisione dei contenuti.
  5. Altri usi particolari:
    • Piattaforme di gestione dei parcheggi online che utilizzano Nuxt.js per il front-end e altri framework per il back-end.
    • Software di analisi delle retribuzioni globali per responsabili delle risorse umane e delle compensazioni, mostrando la capacità di Nuxt.js di gestire visualizzazioni di dati complessi e analisi.

Questi esempi dimostrano la versatilità e l’efficacia di Nuxt.js nella creazione di applicazioni web ad alte prestazioni, ottimizzate per i motori di ricerca e scalabili in vari settori【17†source】【18†source】【19†source】.

Introduzione a Nuxt.js

Nuxt.js è costruito su Vue.js e lo migliora fornendo una struttura ben definita e una serie di funzionalità potenti che semplificano lo sviluppo di applicazioni complesse. Supporta il rendering lato server (SSR), la generazione di siti statici (SSG) e il rendering lato client (CSR).

Caratteristiche principali:

  • Routing automatico: Sistema di routing basato sui file.
  • Rendering lato server (SSR): Migliora la SEO e le prestazioni.
  • Generazione di siti statici (SSG): Genera siti statici per tempi di caricamento più rapidi.
  • Architettura modulare: Oltre 50 moduli per una facile integrazione di funzionalità come il supporto PWA, l’autenticazione e altro.
  • Migliora l’Esperienza per gli sviluppatori: Esperienza di sviluppo migliorata con hot module replacement (HMR), report dettagliati sugli errori e un ampio sistema di plugin.

Configurazione di Nuxt.js

Per iniziare con Nuxt.js, è necessario avere installati Node.js e npm (o yarn).

shCopia codicenpx create-nuxt-app my-nuxt-app
cd my-nuxt-app
npm run dev

Questo comando crea un nuovo progetto Nuxt.js e avvia il server di sviluppo.

Struttura del progetto

Un tipico progetto Nuxt.js ha la seguente struttura:

plaintextCopia codicemy-nuxt-app/
├── assets/
├── components/
├── layouts/
├── pages/
├── plugins/
├── static/
├── store/
├── nuxt.config.js
  • assets: Asset non compilati come Sass, immagini o font.
  • components: Componenti Vue riutilizzabili tra le pagine.
  • layouts: Layout per diverse pagine.
  • pages: File Vue corrispondenti alle rotte dell’applicazione.
  • plugins: Plugin JavaScript da eseguire prima dell’inizializzazione dell’applicazione Vue.js principale.
  • static: File in questa directory sono serviti alla radice del sito.
  • store: File Vuex per la gestione dello stato.
  • nuxt.config.js: File di configurazione per Nuxt.js.

Pagine e routing

Nuxt.js utilizza un sistema di routing basato su file. Qualsiasi file Vue nella directory pages diventa automaticamente una “rotta”.

htmlCopia codice<!-- pages/index.vue -->
<template>
  <div>
    <h1>Home Page</h1>
  </div>
</template>

<script>
export default {
  name: 'HomePage'
}
</script>
htmlCopia codice<!-- pages/about.vue -->
<template>
  <div>
    <h1>About Page</h1>
  </div>
</template>

<script>
export default {
  name: 'AboutPage'
}
</script>

Questi file creano le rotte / e /about.

Layout

I layout forniscono un modo per riutilizzare strutture comuni. Crea un layout predefinito in layouts/default.vue.

htmlCopia codice<!-- layouts/default.vue -->
<template>
  <div>
    <header>
      <nav>
        <nuxt-link to="/">Home</nuxt-link>
        <nuxt-link to="/about">About</nuxt-link>
      </nav>
    </header>
    <nuxt />
    <footer>
      <p>Footer Content</p>
    </footer>
  </div>
</template>

Questo layout è applicato automaticamente a tutte le pagine, a meno che non sia specificato un layout diverso.

Rendering lato server (SSR)

Nuxt.js gestisce il rendering lato server di default. Per recuperare i dati lato server, utilizza il metodo asyncData nei componenti delle tue pagine.

htmlCopia codice<!-- pages/index.vue -->
<template>
  <div>
    <h1>{{ title }}</h1>
  </div>
</template>

<script>
export default {
  async asyncData({ $axios }) {
    const response = await $axios.$get('https://api.example.com/data')
    return { title: response.title }
  }
}
</script>

Generazione di siti statici (SSG)

Per generare un sito statico, aggiungi quanto segue a nuxt.config.js:

javascriptCopia codiceexport default {
  target: 'static',
}

Poi esegui:

shCopia codicenpm run generate

Questo comando genera una versione statica del tuo sito nella directory dist.

Plugin

I plugin di Nuxt.js ti permettono di eseguire codice personalizzato prima di inizializzare l’applicazione Vue.js principale.

javascriptCopia codice// plugins/axios.js
export default function({ $axios }) {
  $axios.onRequest(config => {
    console.log('Making request to ' + config.url)
  })
}

// nuxt.config.js
export default {
  plugins: ['~/plugins/axios.js']
}

Vuex Store

Nuxt.js supporta Vuex per la gestione dello stato. Crea uno store aggiungendo file alla directory store.

javascriptCopia codice// store/index.js
export const state = () => ({
  counter: 0
})

export const mutations = {
  increment(state) {
    state.counter++
  }
}

Usa lo store nei componenti:

htmlCopia codice<template>
  <div>
    <button @click="increment">Increment</button>
    <p>{{ counter }}</p>
  </div>
</template>

<script>
export default {
  computed: {
    counter() {
      return this.$store.state.counter
    }
  },
  methods: {
    increment() {
      this.$store.commit('increment')
    }
  }
}
</script>

10. Middleware

Nuxt.js supporta funzioni middleware che vengono eseguite prima di renderizzare una pagina o un layout.

javascriptCopia codice// middleware/auth.js
export default function({ store, redirect }) {
  if (!store.state.authenticated) {
    return redirect('/login')
  }
}

// nuxt.config.js
export default {
  router: {
    middleware: 'auth'
  }
}

11. Moduli

Nuxt.js ha un ricco ecosistema di moduli per estendere le sue funzionalità. Ad esempio, per aggiungere Google Analytics:

shCopia codicenpm install @nuxtjs/google-analytics
javascriptCopia codice// nuxt.config.js
export default {
  modules: [
    '@nuxtjs/google-analytics'
  ],
  googleAnalytics: {
    id: 'UA-XXXXXXX-X'
  }
}

12. Distribuzione

Le applicazioni Nuxt.js possono essere distribuite su varie piattaforme come Vercel, Netlify o server tradizionali. Per un sito statico:

shCopia codicenpm run generate

Carica i contenuti della directory dist al tuo fornitore di hosting preferito.

Conclusione

Nuxt.js è un framework potente che semplifica lo sviluppo di applicazioni Vue.js fornendo un ambiente strutturato con supporto integrato per il rendering lato server, la generazione di siti statici e molte altre funzionalità.

La sua architettura modulare e l’ampio ecosistema lo rendono una scelta eccellente per la costruzione di applicazioni web moderne.

Ecco una panoramica dei principali vantaggi di Nuxt.js:

  • Robusto e flessibile: Ideale per vari progetti, dai blog personali ai siti di e-commerce complessi.
  • Funzionalità integrate: Semplifica lo sviluppo con capacità SSR e SSG migliorando le prestazioni e la SEO.
  • Architettura modulare: Consente una facile estensione delle funzionalità.
  • Struttura intuitiva: Semplifica la manutenzione e la scalabilità.
  • Supporto della community: Community estesa e documentazione completa.
  • Focalizzazione sulla qualità: Consente agli sviluppatori di concentrarsi sulla creazione di applicazioni di alta qualità senza pensare all’infrastruttura.
Speriamo che questa guida a nuxt.js ti aiuti a realizzare il tuo progetto!

Related Posts

Angular httpResource: un nuovo approccio al fetch dei dati

Davide Passafaro
Aprile 10, 2025
design system with css

CSS Nativo: ora è tutta un’altra storia – Parte 2

Daniele Carta
Aprile 9, 2025

CSS Nativo: ora è tutta un’altra storia – Parte 1

Daniele Carta
Marzo 3, 2025

Angular Resource API: la guida completa

Davide Passafaro
Febbraio 5, 2025
Share on:facebooktwitterlinkedinreddit

Tagged as:Framework nuxt

Codemotion
Articoli scritti dallo staff di Codemotion. Notizie tech, ispirazione, ultime tendenze nello sviluppo del software e molto altro.
DevSecOps, fra Platform Engineering e AI
Previous Post
Unpopular Opinion: Framed by the Framework
Next Post

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions