Font Optimizasyonu
Next.js, 10.2 versiyonundan bu yana yerleşik olarak web font optimizasyonuna sahiptir.
Varsayılan olarak Next.js fontları getirmek için fazladan gidip dönüş yapmadan build sırasında otomatik olarak CSS fontunu satır içi olarak kullanır. Bu, First Contentful Paint (FCP) ve Largest Contentful Paint'te (LCP) iyileştirme sağlar. Örneğin:
// Önce
<link
href="https://fonts.googleapis.com/css2?family=Inter"
rel="stylesheet"
/>
// Sonra
<style data-href="https://fonts.googleapis.com/css2?family=Inter">
@font-face{font-family:'Inter';font-style:normal...
</style>
Kullanım
Next.js uygulamanıza bir web font eklemek için next/head
'ı override edin. Örneğin belirli bir sayfaya font ekleyebilirsiniz:
// pages/index.js
import Head from 'next/head'
export default function IndexPage() {
return (
<div>
<Head>
<link
href="https://fonts.googleapis.com/css2?family=Inter"
rel="stylesheet"
/>
</Head>
<p>Hello world!</p>
</div>
)
}
Veya şöyle bir yöntem de izleyebilirsiniz:
// pages/_document.js
import Document, { Html, Head, Main, NextScript } from 'next/document'
class MyDocument extends Document {
render() {
return (
<Html>
<Head>
<link
href="https://fonts.googleapis.com/css2?family=Inter"
rel="stylesheet"
/>
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
}
export default MyDocument
Otomatik web font optimizasyonu şu anda Google font'larını ve Typekit'i desteklemektedir ve yakında diğer font sağlayıcılarını da destekleyecektir. Arıca yükleme stratejileri ve font-display
değerleri üzerinde kontrol eklemeyi planlıyoruz.
Optimizasyonu Devre Dışı Bırakmak
Next.js'nin font'ları optimize etmesini istemiyorsanız devre dışı bırakabilirsiniz.
// next.config.js
module.exports = {
optimizeFonts: false,
}
Last updated
Was this helpful?