Vai al contenuto

Nuxt.js Cheatsheet

HTML_TAG_78_ __HTML_TAG_79_ __HTML_TAG_80_Nuxt.js - L'intuitivo Vue Framework_HTML_TAG_81_ Traduzione: Nuxt.js è un framework gratuito e open-source con un modo intuitivo ed estenibile per creare applicazioni web di tipo sicuro, performante e di livello di produzione con Vue.js. __HTML_TAG_83_ __HTML_TAG_84_

HTML_TAG_85_

Traduzione:

Tavola dei contenuti

Installazione

Prerequisiti

Traduzione:

# Create Nuxt.js App

Traduzione:

Metodi di installazione alternativi

Traduzione:

Installazione manuale

Traduzione:

Package.json Scripts

Traduzione:

Project Creation

Modelli di avvio

Traduzione:

Comandi di sviluppo

Traduzione:

Costruire comandi

Traduzione:

Struttura del progetto

Nuxt 3 Structure

Traduzione:

File di configurazione

Traduzione:

Routing

Routing basato su file

Traduzione:

Routes dinamiche

Traduzione:

Traduzione:

Route Middleware

Traduzione:

Pagine e layout

Layout predefinito

Traduzione:

Layout personalizzati

Traduzione:

Usando i layout nelle pagine

Traduzione:

Page Meta and SEO

Traduzione:

Componenti

Componenti auto-importati

Traduzione:

Componenti Nested

Traduzione:

Composables

Traduzione:

Global State with useState

Traduzione:

Prelievo dei dati

Prelievo dati lato server

Traduzione:

Client-side Data Fetching

Traduzione:

Advanced Data Fetching

Traduzione:

Dati Presa con Pinia

Traduzione:

State Management

Set di Pinia

Traduzione:

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@pinia/nuxt']
});

Pinia Store

Traduzione:

Usando Stores in Components

Traduzione:

Persistent State

Traduzione:

Styling

CSS e SCSS

Traduzione:

Tailwind CSS

Traduzione:

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/tailwindcss']
});
<template>
  <div class="min-h-screen bg-gray-100">
    <header class="bg-white shadow">
      <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
        <div class="flex justify-between h-16">
          <div class="flex items-center">
            <h1 class="text-xl font-semibold text-gray-900">My App</h1>
          </div>
          <nav class="flex space-x-8">
            <NuxtLink 
              to="/" 
              class="text-gray-500 hover:text-gray-900 px-3 py-2 rounded-md text-sm font-medium"
            >
              Home
            </NuxtLink>
            <NuxtLink 
              to="/about" 
              class="text-gray-500 hover:text-gray-900 px-3 py-2 rounded-md text-sm font-medium"
            >
              About
            </NuxtLink>
          </nav>
        </div>
      </div>
    </header>

    <main class="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
      <slot />
    </main>
  </div>
</template>

Modulo CSS

Traduzione:

Global Styles

Traduzione:

// nuxt.config.ts
export default defineNuxtConfig({
  css: ['~/assets/css/main.css']
});

Plugin

Plugins lato client

Traduzione:

Plugins lato server

Traduzione:

Plugin universali

Traduzione:

Plugin with Composables

Traduzione:

Moduli

Installazione dei moduli

Traduzione:

Configurazione del modulo

Traduzione:

Modulo di contenuto

Traduzione:

Modulo immagine

Traduzione:

Rendering Server-Side

Configurazione SSR

Traduzione:

Rendering ibrido

Traduzione:

Static Site Generation

Traduzione:

# Generate static site
npm run generate

# Preview generated site
npm run preview

ISR (Rigenerazione statica fondamentale)

Traduzione:

API Routes

Basic API Routes

Traduzione:

Routes API dinamiche

Traduzione:

Middleware


Caricamento file

Traduzione:

Vercel Deployment

Traduzione:

// vercel.json
{
  "framework": "nuxtjs",
  "buildCommand": "npm run build",
  "devCommand": "npm run dev",
  "installCommand": "npm install"
}

Netlify Deployment

Traduzione:

Docker Deployment

Traduzione:

Hosting statico

Traduzione:

Variabili ambientali

Traduzione:

// nuxt.config.ts
export default defineNuxtConfig({
  runtimeConfig: {
    // Private keys (only available on server-side)
    secretKey: process.env.NUXT_SECRET_KEY,

    // Public keys (exposed to client-side)
    public: {
      apiUrl: process.env.NUXT_PUBLIC_API_URL
    }
  }
});

Testing

# Vitest Setup

Traduzione:

// vitest.config.ts
import { defineConfig } from 'vitest/config';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
  plugins: [vue()],
  test: {
    environment: 'happy-dom'
  }
});

Component Testing

Traduzione:

E2E Prova con Playwright

Traduzione:

// tests/e2e/home.spec.ts
import { test, expect } from '@playwright/test';

test('homepage', async ({ page }) => {
  await page.goto('/');

  await expect(page).toHaveTitle(/Nuxt/);
  await expect(page.getByRole('heading', { name: 'Welcome' })).toBeVisible();
});

Ottimizzazione delle prestazioni

Analisi Bundle

Traduzione:

Codice Spalato

Traduzione:

Ottimizzazione immagine

Traduzione:

Caching Strategies

Traduzione:

Risoluzione dei problemi

Questioni comuni

Hydration Mismatch

Traduzione:

Memory Leaks

Traduzione:

Costruire errori

Traduzione:

Migliori Pratiche

Struttura del progetto

Traduzione:

Performance

Traduzione:

SEO

Traduzione:


Sommario

Nuxt.js è un potente framework Vue.js che fornisce una soluzione completa per la costruzione di applicazioni web moderne. Le caratteristiche principali includono:

  • ** Routing basato sul file**: routing automatico basato sulla struttura dei file
  • Server-Side Rendering: SSR integrato con opzioni di rendering ibride
  • ** Importazioni automatiche**: Componenti automatici e importazioni componibili
  • Data Fetching: Potente raccolta dati con caching e reattività
  • Modules: ecosistema ricco di moduli per una funzionalità estesa
  • Performance: Ottimizzazioni integrate e divisione codice

Per ottenere risultati ottimali, sfruttare il rendering lato server per una migliore SEO, utilizzare i materiali compositi per la logica riutilizzabile, implementare strategie di caching adeguate e seguire le convenzioni Nuxt.js per il routing e il recupero dei dati.

Traduzione: copia funzioneToClipboard() {} const commands = document.querySelectorAll('code'); tutti i Comandi = ''; comandi. per ogni(cmd => AllCommands += cmd.textContent + '\n'); navigatore.clipboard.writeText(tutti iComandi); alert('Tutti i comandi copiati a clipboard!');

funzione generaPDF() { finestra.print();

Traduzione: