728x90
728x90
환경 변수 사용 방법
들어가며
- Next.js에서 환경 변수(Environment Variable)를 사용하는 방법을 정리해본다.
방법
① 환경 변수 파일 설정하기
- Next.js는 @.env@ 파일을 통해 환경 변수를 불러올 수 있다.
- 프로젝트 최상위 경로(@/@)에 다음과 같은 @.env@ 파일을 생성한다.
/.env.local
NEXT_PUBLIC_API_URL=https://api.example.com
API_SECRET_KEY=your-secret-key
⇒ 다음과 같이 @.env@뒤에 용도에 따라 다양한 접미어를 붙일 수 있다.
환경변수 파일명 | 설명 |
@.env.local@ | 로컬 개발 환경에서 사용하는 환경 변수 (Git에 추가하지 않는 것이 좋다.) |
@.env.development@ | 개발 환경에서 사용하는 환경 변수 |
@.env.production@ | 배포 환경에서 사용하는 환경 변수 |
@NEXT_PUBLIC_@ 접두사가 붙은 변수만 클라이언트 측에서 사용할 수 있다. 그 외의 변수는 서버 측에서만 사용 가능하다.
② 환경 변수 사용하기
- Next.js 프로젝트의 어느 코드에서나 @process.env.환경변수명@를 통해 환경 변수 값을 가져올 수 있다.
서버 사이드(Server-side)에서 사용하기
- API 키와 같은 민감한 정보는 서버(Sever)에서만 접근해야 한다.
/pages/api/example.js
export default function handler(req, res) {
const apiKey = process.env.API_SECRET_KEY;
res.status(200).json({ key: apiKey });
}
클라이언트 사이드(Client-side)에서 사용하기
- 환경 설정 파일(@.env@)에서 @NEXT_PUBLIC_@ 접두사가 있는 변수만 클라이언트에서 사용할 수 있다.
/pages/index.js
export default function Home() {
return (
<div>
<p>API URL: {process.env.NEXT_PUBLIC_API_URL}</p>
</div>
);
}
(참고) Git에 민감한 정보가 포함되지 않도록 설정하기
- @.env@ 파일에는 민감한 정보가 포함될 수 있다.
- 따라서 Git에 포함되지 않도록 다음과 같이 @.gitignore@ 파일에 추가해준다.
/.gitignore
.env*
(참고) 알아둘 점
- 다음과 같이 @dev@ 모드로 실행하면, Next.js를 시작할 때 @.env@ 파일에 있는 환경 변수들이 자동으로 불러와진다.
$ npm run dev
- Next.js에서는 빌드 시점에 환경 변수가 고정되기 때문에, 배포 환경에서 @.env@ 파일을 수정한 경우 애플리케이션을 다시 빌드해야 한다.
$ npm run build && npm start
참고 사이트
728x90
728x90
'Framework > Next.js' 카테고리의 다른 글
[Next.js] 테마 토글 기능 설정하기 (with shadcn/ui) (0) | 2024.11.05 |
---|---|
[Next.js] 갑자기 "'next'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다." 오류가 발생할 때 해결 방법 (0) | 2024.10.30 |
[Next.js] 폴더 구조 및 동적 경로 설정하기 (0) | 2024.10.16 |
[Next.js] 정적 생성(Static Generation)과 서버사이드 렌더링(Server-side Rendering) (0) | 2024.08.08 |
[Next.js] 메타데이터(Metadata) 추가하기 (0) | 2024.08.07 |
[Next.js] 서버 컴포넌트와 클라이언트 컴포넌트 (0) | 2024.08.05 |
[Next.js] Image 컴포넌트 (0) | 2024.08.05 |