assetPrefix
Dikkat! Vercel'e dağıtım, Next.js projeniz için otomatik olarak global bir CDN yapılandırır. Bir Varlık Önekini manuel olarak ayarlamanıza gerek yoktur.
Bilmekte fayda var: Next.js 9.5+, uygulamanızı
/docs
gibi bir alt yolda barındırmak için daha uygun olan özelleştirilebilir bir Temel Yol desteği ekledi. Bu kullanım durumu için özel bir Varlık Öneki kullanmanızı önermiyoruz.
Bir CDN kurmak için , bir varlık öneki ayarlayabilir ve CDN'inizin kaynağını Next.js'nin barındırıldığı etki alanına çözümlenecek şekilde yapılandırabilirsiniz.
next.config.js
adresini açın ve assetPrefix
yapılandırmasını ekleyin:
const isProd = process.env.NODE_ENV === 'production'
module.exports = {
// Use the CDN in production and localhost for development.
assetPrefix: isProd ? 'https://cdn.mydomain.com' : undefined,
}
Next.js, /_next/
yolundan (.next/static/
klasörü) yüklediği JavaScript ve CSS dosyaları için otomatik olarak varlık önekinizi kullanacaktır. Örneğin, yukarıdaki yapılandırmayla, bir JS yığını için aşağıdaki istek:
/_next/static/chunks/4b9b41aaa062cbbfeff4add70f256968c51ece5d.4d708494b3aed70c04f0.js
Bunun yerine:
https://cdn.mydomain.com/_next/static/chunks/4b9b41aaa062cbbfeff4add70f256968c51ece5d.4d708494b3aed70c04f0.js
Dosyalarınızı belirli bir CDN'ye yüklemek için tam yapılandırma, seçtiğiniz CDN'ye bağlı olacaktır. CDN'nizde barındırmanız gereken tek klasör, yukarıdaki URL isteğinde belirtildiği gibi _next/static/
olarak yüklenmesi gereken .next/static/
içeriğidir. Sunucu kodunuzu ve diğer yapılandırmalarınızı herkese açık hale getirmemeniz gerektiğinden .next/
klasörünüzün geri kalanını yüklemeyin.
assetPrefix
, _next/static
adresine yapılan talepleri kapsarken, aşağıdaki yolları etkilemez:
- Ortak klasördeki dosyalar; bu varlıkları bir CDN üzerinden sunmak istiyorsanız, öneki kendiniz tanıtmanız gerekir