Version 13

Upgrading from 12 to 13

Next.js sürüm 13'e güncellemek için tercih ettiğiniz paket yöneticisini kullanarak aşağıdaki komutu çalıştırın:

Terminal
npm i next@13 react@latest react-dom@latest eslint-config-next@13
Terminal
yarn add next@13 react@latest react-dom@latest eslint-config-next@13
Terminal
pnpm i next@13 react@latest react-dom@latest eslint-config-next@13
Terminal
bun add next@13 react@latest react-dom@latest eslint-config-next@13

Bilmekte fayda var: TypeScript kullanıyorsanız, @types/react ve @types/react-dom adreslerini de en son sürümlerine yükselttiğinizden emin olun.

v13 Summary

Migrating shared features

Next.js 13, yeni özellikler ve kurallar içeren yeni bir app diz ini sunar. Ancak Next.js 13'e yükseltmek için yeni app dizininin kullanılması gerekmez.

Güncellenen Resim bileşeni, Bağlantı bileşeni, Komut Dosyası bileşeni ve Yazı Tipi optimizasyonu gibi her iki dizinde de çalışan yeni özelliklerle pages adresini kullanmaya devam edebilirsiniz.

<Image/> Component

Next.js 12, geçici bir içe aktarma ile Görüntü Bileşenine birçok iyileştirme getirdi: next/future/image. Bu iyileştirmeler arasında daha az istemci tarafı JavaScript, görüntüleri genişletmek ve şekillendirmek için daha kolay yollar, daha iyi erişilebilirlik ve yerel tarayıcı tembel yüklemesi yer alıyordu.

Next.js 13'ten itibaren, bu yeni davranış artık next/image için varsayılandır.

Yeni Görüntü Bileşenine geçiş yapmanıza yardımcı olacak iki kodmod vardır:

Alternatif olarak, geçiş kılavuzunu izleyerek manuel olarak güncelleme yapabilir ve ayrıca eski karşılaştırmaya bakabilirsiniz.

<Link> Bileşeni artık bir <a> etiketinin alt öğe olarak manuel olarak eklenmesini gerektirmiyor. Bu davranış 12.2 sürümünde deneysel bir seçenek olarak eklenmişti ve artık varsayılandır. Next.js 13'te, <Link> her zaman <a> adresini oluşturur ve destekleri altta yatan etikete yönlendirmenize olanak tanır.

Örneğin:

import Link from 'next/link'
 
// Next.js 12: `<a>` has to be nested otherwise it's excluded
<Link href="/about">
  <a>About</a>
</Link>
 
// Next.js 13: `<Link>` always renders `<a>` under the hood
<Link href="/about">
  About
</Link>

Bağlantılarınızı Next.js 13'e yükseltmek için new-link codemod'u kullanabilirsiniz.

<Script> Component

Davranışları next/script hem pages hem de app adreslerini destekleyecek şekilde güncellenmiştir. app adresini aşamalı olarak benimsiyorsanız, yükseltme kılavuzunu okuyun.

Font Optimization

Daha önce Next.js, yazı tipi CSS'sini inlining yaparak yazı tiplerini optimize etmenize yardımcı oluyordu. Sürüm 13 yeni next/font modülü, size yazı tipi yükleme deneyiminizi kişiselleştirme olanağı verirken, aynı zamanda mükemmel performans ve gizlilik sağlar.

next/font adresini nasıl kullanacağınızı öğrenmek için Yazı Tiplerini Optimize Etme bölümüne bakın.