Next.js에서 환경변수는 기본적으로 서버 사이드에서만 사용할 수 있습니다.
환경변수를 클라이언트 환경에서 불러오려면, 변수명 앞에 NEXT_PUBLIC_를 붙여야합니다.
👇 예시
NEXT_PUBLIC_URL=https://hoyoung.dev
Vercel에서의 환경변수
Vercel로 앱을 배포할 때의 환경변수
Vercel에 아무런 설정을 하지 않을 경우, 배포 시 환경변수들이 동작하지 않습니다.
또한, 원격저장소에 .env 파일이 있어도 동작하지 않습니다.
(Vercel에서 원격저장소에 있는 .env에 접근하지 않기 때문..!)
그렇기에 Vercel에서 배포할 앱의 Settings를 변경해야 합니다.
$ vercel link# ################# vercel-cli #################> Log in to Vercel # Vercel에 로그인> ? Set up “[로컬 저장소 위치]”? [Y/n]# y> ? Which scope should contain your project? # 자신의 계정 선택> ? Found project “[Vercel 계정명/Vercel 프로젝트명]”. Link to it? [Y/n]# y
✅ Linked to [Vercel 계정명/Vercel 프로젝트명](created .vercel)# ###############################################
Next.js의 환경변수
서버 사이드에서 환경변수 접근
Next.js는
.env.local에서process.env로 환경 변수를 불러오는 기능을 기본적으로 지원합니다.👇 예시
process.env.DB_ID,process.env.DB_PWD로 서버 환경(Node.js 환경)에 자동으로 불러옵니다.클라이언트 사이드에서 환경변수 접근
Next.js에서 환경변수는 기본적으로 서버 사이드에서만 사용할 수 있습니다.
환경변수를 클라이언트 환경에서 불러오려면, 변수명 앞에
NEXT_PUBLIC_를 붙여야합니다.👇 예시
Vercel에서의 환경변수
Vercel로 앱을 배포할 때의 환경변수
Vercel에 아무런 설정을 하지 않을 경우, 배포 시 환경변수들이 동작하지 않습니다.
또한, 원격저장소에
.env파일이 있어도 동작하지 않습니다.(Vercel에서 원격저장소에 있는
.env에 접근하지 않기 때문..!)그렇기에 Vercel에서 배포할 앱의 Settings를 변경해야 합니다.
Vercel → 나의 Dashboard → [배포할 앱] → Settings 탭 → Environment Variables
적용된 환경변수를 로컬저장소로 가져오려면?
vercel-cli설치 (설치가 되어있다면, SKIP)참고 자료
Next.js
Vercel
일반