Runtime Config

Warning:

앱에 런타임 구성을 추가하려면 next.config.js를 열고 publicRuntimeConfig 및 serverRuntimeConfig 구성을 추가하십시오:

next.config.js
module.exports = {
  serverRuntimeConfig: {
    // 서버 측에서만 사용할 수 있습니다.
    mySecret: 'secret',
    secondSecret: process.env.SECOND_SECRET, // 환경 변수를 통해 전달
  },
  publicRuntimeConfig: {
    // 서버와 클라이언트 모두에서 사용할 수 있습니다.
    staticFolder: '/static',
  },
}

서버 전용 런타임 구성은 serverRuntimeConfig 아래에 배치하십시오.

클라이언트 및 서버 측 코드에서 모두 접근할 수 있는 항목은 publicRuntime₩Config 아래에 배치하십시오.

publicRuntimeConfig 에 의존하는 페이지는 반드시 getInitialProps 또는 getServerSideProps 를 사용하거나, Custom App 과 함께 getInitialProps 를 사용하여 자동 정적 최적화 를 선택 해제해야 합니다. 런타임 구성은 서버 측 렌더링이 없는 페이지(또는 페이지 내의 컴포넌트)에는 사용할 수 없습니다.

앱에서 런타임 구성에 액세스하려면 next/config를 사용하십시오:

import getConfig from 'next/config'
import Image from 'next/image'
 
// serverRuntimeConfig와 publicRuntimeConfig만 포함합니다.
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
// 서버사이드 에서만 사용 가능합니다.
console.log(serverRuntimeConfig.mySecret)
// 서버사이드 및 클라이언트사이드에서 모두 사용 가능합니다.
console.log(publicRuntimeConfig.staticFolder)
 
function MyImage() {
  return (
    <div>
      <Image
        src={`${publicRuntimeConfig.staticFolder}/logo.png`}
        alt="logo"
        layout="fill"
      />
    </div>
  )
}
 
export default MyImage