Next.js Image-component: sizes, preload en externe afbeeldingen

Gids voor de Next.js Image-component

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

Zo werkt next/image in Next.js 16: width, height en fill, een sizes-calculator, preload in plaats van priority, remotePatterns, qualities en de standaard srcset-breedtes.

Importeer Image uit next/image en geef het src, alt, en ofwel width en height ofwel fill. Voeg een sizes-string toe zodra de weergegeven breedte met het scherm verandert, zodat de browser een kleiner bestand downloadt. Zet voor de heroafbeelding die uw LCP is preload (dat verving priority in Next.js 16). Sta externe hosts toe met images.remotePatterns.

De props die de snelheid bepalen

Twee fouten met afbeeldingen maak je in Next.js snel: een fill-afbeelding zonder sizes, waardoor telefoons desktopbestanden downloaden, en een hero die op lazy loading wacht. Deze pagina legt elke prop in gewone woorden uit, geeft u een calculator die de sizes-string voor uw layout schrijft en somt de configuratiestandaarden op die Next.js vandaag gebruikt.

Veelgestelde vragen

Is de prop priority verouderd?

Ja. Vanaf Next.js 16 markeert de documentatie priority als verouderd ten gunste van preload, dat een preload-link in de head plaatst. De documentatie zegt ook dat loading="eager" of fetchPriority="high" in de meeste gevallen de betere keuze is, en preload mag niet met een van die props gecombineerd worden.

Waarom zegt next/image dat de hostname niet geconfigureerd is?

Externe afbeeldingen moeten overeenkomen met een item in images.remotePatterns in next.config. Voeg een object toe met protocol, hostname en een pathname zoals /photos/**, en herstart daarna de dev-server. Verzoeken die bij geen enkel patroon passen krijgen een 400-respons van de image optimizer.

Wat verandert de prop sizes eigenlijk?

Hij vertelt de browser hoe breed de afbeelding bij elk breakpoint wordt voordat de CSS geladen is. Met sizes geeft Next.js ook een volledige srcset op basis van breedte (640w, 750w enzovoort) in plaats van alleen 1x en 2x, zodat een telefoon een veel kleiner bestand kan kiezen.

Heb ik width en height nodig bij fill?

Nee. fill en width/height zijn alternatieven. Met fill rekt de afbeelding uit tot de gepositioneerde parent, en het bijsnijden regelt u met object-fit via de prop style of className.

Hoe lang worden geoptimaliseerde afbeeldingen gecachet?

De standaard minimumCacheTTL is 14400 seconden, oftewel vier uur. De echte max age is de grootste van de twee: die waarde of de Cache-Control-header van de oorspronkelijke afbeelding. Statisch geïmporteerde afbeeldingen krijgen langdurige immutable caching omdat hun bestandsnamen gehasht zijn.

Waarom de component bestaat

LCP goed krijgen

Configuratie waar u mee te maken krijgt

Elke prop die u waarschijnlijk gebruikt

Props van next/image (referentie voor Next.js 16)

Standaardinstellingen voor afbeeldingen

Instellingen voor images in next.config en hun standaarden

Voorbeelden om te kopiëren

Heroafbeelding uit een statische import

De import geeft Next.js de echte afmetingen en een blur-placeholder. preload start de download vanuit de head.

Kaartenraster met fill en sizes

Elke kaart is op desktop een derde van de pagina, op tablets de helft en op telefoons de volle breedte, en de sizes-waarde zegt precies dat.

next.config.ts voor een externe afbeeldingshost

Alleen HTTPS-bestanden onder /uploads/ op één host zijn toegestaan. Twee qualitywaarden zijn toegestaan.

Volle breedte

Half op desktop

Raster van 2 kolommen

Raster van 3 kaarten

Raster van 4 kaarten

Sizes-calculator

Kies een layout en breakpoints om het sizes-attribuut te genereren, en zie dan welke standaard srcset-breedte een bepaald scherm waarschijnlijk downloadt.

Layout

Breakpoint telefoon (px)

Breakpoint tablet (px)

Schermbreedte: {n}px

Pixeldichtheid

Bij {screen}px is het afbeeldingsslot ongeveer {slot}px breed ({vw}vw). Bij een dichtheid van {dpr}x zijn {need} apparaatpixels nodig, dus de browser haalt waarschijnlijk de kandidaat van {pick}w op.

Kopiëren

Standaard kandidaatbreedtes: {list}. Browsers kunnen anders kiezen, bijvoorbeeld als er al een groter bestand in de cache staat.

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap