Runtime Config
Warning:
- 이 기능은 사용 중단되었습니다. 대신 환경 변수 를 사용하는 것을 권장합니다. 이 방법은 런타임 값을 읽는 것도 지원할 수 있습니다.
- 서버 시작 시 코드를 실행하려면
register
함수를 사용할 수 있습니다.- 이 기능은 자동 정적 최적화, 출력 파일 추적, or React 서버 컴포넌트 와 함께 작동하지 않습니다.
앱에 런타임 구성을 추가하려면 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