next.config.js Options

Next.js, proje dizininizin kök dizinindeki bir next.config.js dosyası aracılığıyla yapılandırılabilir (örneğin, package.json).

next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  /* config options here */
}
 
module.exports = nextConfig

next.config.js bir JSON dosyası değil, normal bir Node.js modülüdür. Next.js sunucusu ve derleme aşamaları tarafından kullanılır ve tarayıcı derlemesine dahil edilmez.

ECMAScript modüllerine ihtiyacınız varsa , next.config.mjs kullanabilirsiniz:

next.config.mjs
/**
 * @type {import('next').NextConfig}
 */
const nextConfig = {
  /* config options here */
}
 
export default nextConfig

Bir fonksiyon da kullanabilirsiniz:

next.config.mjs
export default (phase, { defaultConfig }) => {
  /**
   * @type {import('next').NextConfig}
   */
  const nextConfig = {
    /* config options here */
  }
  return nextConfig
}

Next.js 12.1.0'dan beri bir async fonksiyonu kullanabilirsiniz:

next.config.js
module.exports = async (phase, { defaultConfig }) => {
  /**
   * @type {import('next').NextConfig}
   */
  const nextConfig = {
    /* config options here */
  }
  return nextConfig
}

phase yapılandırmanın yüklendiği geçerli bağlamdır. Mevcut aşamaları adresinde görebilirsiniz. Aşamalar next/constants adresinden içe aktarılabilir:

const { PHASE_DEVELOPMENT_SERVER } = require('next/constants')
 
module.exports = (phase, { defaultConfig }) => {
  if (phase === PHASE_DEVELOPMENT_SERVER) {
    return {
      /* development only config options here */
    }
  }
 
  return {
    /* config options for all phases except development here */
  }
}

Yorumlanan satırlar, next.config.js tarafından izin verilen ve bu dosyada tanımlanan yapılandırmaları koyabileceğiniz yerlerdir .

Ancak, yapılandırmaların hiçbiri gerekli değildir ve her yapılandırmanın ne yaptığını anlamak gerekli değildir. Bunun yerine, bu bölümde etkinleştirmeniz veya değiştirmeniz gereken özellikleri arayın; size ne yapmanız gerektiğini göstereceklerdir.

Hedef Node.js sürümünüzde bulunmayan yeni JavaScript özelliklerini kullanmaktan kaçının. next.config.js Webpack, Babel veya TypeScript tarafından ayrıştırılmayacaktır.

Bu sayfa mevcut tüm yapılandırma seçeneklerini belgeler: