Varlıklar
Next.js , üst düzey dizin altında resimler gibi statik varlıklar sunabilir. public
İçindeki dosyalara benzer uygulamanın kökünden referans alınabilir.
Profil Resminizi İndirin
İlk önce profil resminizi alalım.
- Profil resminizi .jpg formatta indirin (veya bu dosyayı kullanın).
public
dizinin içindeimages
dizini oluşturun.- Resimi
profile.jpg
ismindepublic/images
dizinin içinde kaydedin. - Görüntü boyutu yaklaşık 400 piksele 400 piksel olabilir.
Optimize Edilmemiş Resim
Normal HTML ile profil resminizi aşağıdaki gibi eklersiniz:
<img src="/images/profile.jpg" alt="Your Name" />
Ancak bu, manuel olarak işlemeniz gerektiği anlamına gelir:
- Resminizin farklı ekran boyutlarında duyarlı olmasını sağlamak
- Üçüncü taraf bir araç veya kitaplıkla resimlerinizi optimize etme
- Görüntüler yalnızca görünüm alanına girdiklerinde yükleniyor
Ve dahası. Bunun yerine, Next.js, Image
bunu sizin için halletmek için kutudan çıkarılmış bir bileşen sağlar.
Görüntü Bileşeni ve Görüntü Optimizasyonu
next/image
modern web için geliştirilmiş <img>
HTML öğesinin bir uzantısıdır.
Next.js ayrıca varsayılan olarak Görüntü Optimizasyonu desteğine sahiptir. Bu , tarayıcı desteklediğinde, görüntüleri WebP gibi modern biçimlerde yeniden boyutlandırmaya, optimize etmeye ve sunmaya olanak tanır . Bu, büyük görüntülerin daha küçük bir görünüme sahip cihazlara gönderilmesini önler. Ayrıca Next.js'nin gelecekteki görüntü biçimlerini otomatik olarak benimsemesine ve bunları bu biçimleri destekleyen tarayıcılara sunmasına olanak tanır.
Otomatik Görüntü Optimizasyonu, herhangi bir görüntü kaynağıyla çalışır. Görüntü, CMS gibi harici bir veri kaynağında barındırılsa bile optimize edilebilir.
Görüntü Bileşenini Kullanma
Next.js, görselleri derleme sırasında optimize etmek yerine, görselleri talep üzerine, kullanıcıların istediği şekilde optimize eder. Statik site oluşturucuların ve yalnızca statik çözümlerin aksine, ister 10 görüntü ister 10 milyon görüntü gönderin, oluşturma süreniz artmaz.
Görüntüler varsayılan olarak tembel yüklenir. Bu, görünüm alanının dışındaki görüntüler için sayfa hızınızın cezalandırılmadığı anlamına gelir. Görüntüler, görünüm alanına kaydırıldıkça yüklenir.
Görüntüler her zaman, Google'ın arama sıralamasında kullanacağı bir Önemli Web Verisi olan Kümülatif Düzen Kayması(CLS)'ndan kaçınacak şekilde oluşturulur.
İşte next/image
profil resmimizi görüntülemek için kullanılan bir örnek. Sahne öğeleri height
, width
kaynak görüntüyle aynı en boy oranıyla istenen oluşturma boyutunda olmalıdır.
import Image from 'next/image';
const YourComponent = () => (
<Image
src="/images/profile.jpg" // Route of the image file
height={144} // Desired size with correct aspect ratio
width={144} // Desired size with correct aspect ratio
alt="Your Name"
/>
);