본문 바로가기
FrontEnd/Next.js

[Next.js] .env 파일에서의 NEXT_PUBLIC 키워드의 차이

by 위그든씨 2023. 8. 24.

`NEXT_PUBLIC` 키워드를 사용하는 변수는 Next.js 애플리케이션의 클라이언트 측 코드 내에서 접근할 수 있는 환경 변수입니다. 이와 달리, `NEXT_PUBLIC` 없이 정의된 변수는 서버 측 코드에서만 접근 가능한 환경 변수입니다.

`NEXT_PUBLIC` 키워드를 붙인 변수는 브라우저에서 직접 접근할 수 있기 때문에, 클라이언트 측 코드에서 사용되는 환경 변수로 주로 사용됩니다. 예를 들어, 웹 페이지 내에서 API 키나 설정 값을 사용해야 하는 경우에 유용합니다. 이렇게 `NEXT_PUBLIC` 키워드로 선언된 환경 변수는 Next.js의 빌드 시간에 정적으로 번들링되며, 클라이언트 측 코드에서 해당 변수를 사용할 수 있습니다.

서버 측 코드에서 사용되는 환경 변수는 민감한 정보를 포함하거나 서버 로직과 관련된 경우에 주로 사용됩니다. 이러한 환경 변수는 보안을 위해 클라이언트 측으로 노출되지 않도록 주의해야 합니다. 따라서 `NEXT_PUBLIC` 키워드 없이 선언된 변수는 브라우저에서 직접 접근할 수 없으며, 서버 측 코드에서 사용됩니다.

요약하면, `NEXT_PUBLIC` 키워드를 사용하면 해당 변수는 브라우저에서 접근 가능한 클라이언트 측 환경 변수로 설정되며, 키워드 없이 정의된 변수는 서버 측에서만 접근 가능한 환경 변수로 사용됩니다.