Componente Image di Next.js: sizes, preload e immagini remote

Guida al componente Image di Next.js

Next.js Image: sizes, preload, remotePatterns e LCP | We.Inc

Come funziona next/image in Next.js 16: width, height e fill, un calcolatore di sizes, preload al posto di priority, remotePatterns, qualities e le larghezze srcset predefinite.

Importa Image da next/image e passagli src, alt e width e height oppure fill. Aggiungi una stringa sizes ogni volta che la larghezza visualizzata cambia con lo schermo, così il browser scarica un file più piccolo. Per l'immagine hero che costituisce il tuo LCP, imposta preload (ha sostituito priority in Next.js 16). Consenti gli host esterni con images.remotePatterns.

Le prop che decidono la velocità

In Next.js è facile fare due errori con le immagini: un'immagine fill senza sizes, così i telefoni scaricano file da desktop, e una hero che aspetta il caricamento lazy. Questa pagina spiega ogni prop in parole semplici, ti offre un calcolatore che scrive la stringa sizes per il tuo layout ed elenca i valori predefiniti di configurazione che Next.js usa oggi.

Domande frequenti

La prop priority è deprecata?

Sì. Da Next.js 16 la documentazione segna priority come deprecata a favore di preload, che inserisce un link di preload nella head. La documentazione dice anche che nella maggior parte dei casi loading="eager" o fetchPriority="high" sono la scelta migliore, e preload non va combinato con nessuna delle due.

Perché next/image dice che l'hostname non è configurato?

Le immagini esterne devono corrispondere a una voce di images.remotePatterns in next.config. Aggiungi un oggetto con protocol, hostname e un pathname come /photos/**, poi riavvia il server di sviluppo. Le richieste che non corrispondono a nessun pattern ricevono una risposta 400 dall'ottimizzatore di immagini.

Che cosa cambia davvero la prop sizes?

Dice al browser quanto sarà larga l'immagine a ogni breakpoint prima che il CSS si carichi. Con sizes, Next.js genera anche un srcset completo basato sulle larghezze (640w, 750w e così via) invece di solo 1x e 2x, così un telefono può scegliere un file molto più piccolo.

Servono width e height con fill?

No. fill e width/height sono alternative. Con fill l'immagine si estende fino al genitore posizionato, e controlli il ritaglio con object-fit tramite la prop style o className.

Per quanto tempo restano in cache le immagini ottimizzate?

Il minimumCacheTTL predefinito è 14400 secondi, cioè quattro ore. La durata massima reale è il valore più alto tra questo e l'header Cache-Control inviato dall'immagine originale. Le immagini importate staticamente ricevono una cache immutabile di lunga durata perché i nomi dei file contengono un hash.

Perché esiste il componente

Ottenere un buon LCP

La configurazione che toccherai

Ogni prop che probabilmente userai

Prop di next/image (riferimento Next.js 16)

Valori predefiniti della configurazione delle immagini

Impostazioni images in next.config e i loro valori predefiniti

Esempi da copiare

Immagine hero da un import statico

L'import fornisce a Next.js le dimensioni reali e un placeholder sfocato. preload avvia il download dalla head.

Griglia di card con fill e sizes

Ogni card occupa un terzo della pagina su desktop, metà sui tablet e tutta la larghezza sui telefoni, e il valore sizes dice esattamente questo.

next.config.ts per un host di immagini remoto

Sono consentiti solo i file HTTPS sotto /uploads/ su un unico host. Sono ammessi due valori di qualità.

Tutta larghezza

Metà su desktop

Griglia a 2 colonne

Griglia di 3 card

Griglia di 4 card

Calcolatore di sizes

Scegli un layout e i breakpoint per generare l'attributo sizes, poi guarda quale larghezza srcset predefinita uno schermo probabilmente scaricherà.

Layout

Breakpoint telefono (px)

Breakpoint tablet (px)

Larghezza schermo: {n}px

Densità di pixel

A {screen}px lo slot dell'immagine è largo circa {slot}px ({vw}vw). Con densità {dpr}x servono {need} pixel del dispositivo, quindi il browser scaricherà con ogni probabilità il candidato {pick}w.

Copia

Larghezze candidate predefinite: {list}. I browser possono scegliere diversamente, per esempio quando un file più grande è già in cache.

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito