1-codemods
#Codemods
Codemod'lar kod tabanınızda programlı olarak çalışan dönüşümlerdir. Bu, her dosyayı manuel olarak gözden geçirmek zorunda kalmadan çok sayıda değişikliğin programlı olarak uygulanmasına olanak tanır.
Next.js, bir API güncellendiğinde veya kullanımdan kaldırıldığında Next.js kod tabanınızı yükseltmenize yardımcı olmak için Codemod dönüşümleri sağlar.
Kullanım
Terminalinizde, projenizin klasörüne gidin (cd
) ve ardından çalıştırın:
<transform>
ve <path>
öğelerinin uygun değerlerle değiştirilmesi.
transform
- dönüşümün adıpath
- dönüştürülecek dosyalar veya dizin--dry
Kuru çalıştırma yapın, hiçbir kod düzenlenmeyecektir--print
Karşılaştırma için değiştirilen çıktıyı yazdırır
Next.js Codemods
13.2
### Yerleşik Yazı Tipini Kullanın
built-in-next-font
Bu codemod @next/font
paketini kaldırır ve @next/font
içe aktarımlarını yerleşik next/font
'a dönüştürür.
Örneğin:
Aşağıdakine dönüşür:
13.0
Next Görüntü Aktarımlarını Yeniden Adlandır
next-image-to-legacy-image
Mevcut Next.js 10, 11 veya 12 uygulamalarındaki next/image
içe aktarımlarını Next.js 13'te next/legacy/image
olarak güvenli bir şekilde yeniden adlandırır. Ayrıca next/future/image
öğesini next/image
olarak yeniden adlandırır.
Örneğin:
Aşağıdakine dönüşür:
Yeni Görüntü Bileşenine Geçiş Yapın
next-image-experimental
Dangerously, satır içi stiller ekleyerek ve kullanılmayan sahne öğelerini kaldırarak next/legacy/image
öğesinden yeni next/image
öğesine geçiş yapar.
layout
prop'unu kaldırır vestyle
ekler.objectFit
prop'unu kaldırır vestyle
ekler.objectPosition
prop'unu kaldırır vestyle
ekler.lazyBoundary
prop'unu kaldırır.lazyRoot
prop'unu kaldırır.
Link Bileşenlerinden <a>
Etiketlerini Kaldırma
<a>
Etiketlerini Kaldırmanew-link
Link Bileşenleri içindeki <a>
etiketlerini kaldırın veya otomatik olarak düzeltilemeyen Bağlantılara bir legacyBehavior
prop ekleyin.
Örneğin:
Otomatik düzeltmenin uygulanamadığı durumlarda, legacyBehavior
özelliği eklenir. Bu, uygulamanızın söz konusu bağlantı için eski davranışı kullanarak çalışmaya devam etmesini sağlar.
11
CRA'dan geçiş yapın
cra-to-next
Bir Create React App projesini Next.js'ye geçirir; bir Pages Router ve davranışla eşleşmesi için gerekli yapılandırmayı oluşturur. SSR sırasında window
kullanımı nedeniyle uyumluluğun bozulmasını önlemek için başlangıçta yalnızca istemci tarafı oluşturmadan yararlanılır ve Next.js'ye özgü özelliklerin kademeli olarak benimsenmesine izin vermek için sorunsuz bir şekilde etkinleştirilebilir.
Lütfen bu dönüşümle ilgili geri bildirimlerinizi bu tartışmada paylaşın.
## 10
Add React imports
add-missing-react-import
React
'i içe aktarmayan dosyaları, yeni React JSX dönüşümünün çalışması için içe aktarmayı içerecek şekilde dönüştürür.
Örneğin:
Aşağıdakine dönüşür:
9
Anonim Bileşenleri Adlandırılmış Bileşenlere Dönüştürme
name-default-component
9 ve üzeri sürümler.
Fast Refresh ile çalıştıklarından emin olmak için anonim bileşenleri adlandırılmış bileşenlere dönüştürür.
Örneğin:
Aşağıdakine dönüşür:
Bileşen, dosyanın adına göre camel-cased bir ada sahip olur ve arrow fonksiyonlarıyla da çalışır.
8
AMP HOC'yi sayfa yapılandırmasına dönüştürme
withamp-to-config
withAmp
HOC'yi Next.js 9 sayfa yapılandırmasına dönüştürür.
Örneğin:
6
withrouter
kullanın
withrouter
kullanın#### url-to-withrouter
Üst düzey sayfalarda kullanımdan kaldırılan otomatik olarak enjekte edilen url
özelliğini withRouter
ve enjekte ettiği router
özelliğini kullanmaya dönüştürür. Daha fazlasını buradan okuyun: https://nextjs.org/docs/messages/url-deprecated
Örneğin:
Bu bir vakadır. Dönüştürülen (ve test edilen) tüm vakalar testfixtures dizininde bulunabilir.
Last updated