프로젝트 내에서 환경변수
는 프로젝트에서 사용되는 중요한 설정값들을 의미한다. 이 설정값들은 보통 민감한 정보 또는 환경에 따라 다르게 설정되어야 하는 값이다!
예를 들어, 데이터베이스 연결 정보
나 API endpoint
, 인증 토큰
등은 프로젝트가 실행되는 환경 에 따라 달라질 수 있다.
이런 값들을 하드코딩으로 넣어두면... 환경이 달라질 때마다 가서 수정해야 하기 때문에 환경변수
로 관리하는게 편하다...!
보통 환경변수는 프로젝트의 루트 디렉토리에 .env 파일로 저장해 두는 듯 하다!
.gitignore
에 등록하여 git 원격 저장소에 push되지 않도록 하는게 보통의 방법인 듯 한데
우리는 보안 문제, 환경 변화... 등이 그다지 없는 상황이라 gitignore에 등록하지 않았다.ㅋㅋㅋ
CRA로 생성한 프로젝트에서는
REACT_APP_DEV_API_ROOT=http://localhost:8000/api
REACT_APP_PROD_API_ROOT=34.64.110.118:5000/api
이렇게 하면 됐던 것 같은데....
NEXT 프로젝트에서는
NEXT_PUBLIC_DEV_API_ROOT=http://localhost:8000/api
NEXT_PUBLIC_PROD_API_ROOT=34.64.110.118:5000/api
이렇게 했다.
프레임워크나 빌드 도구에 따라 예약되어 있는게 있는지 GPT한테 물어봤는데.. 그렇다고 함..(진실일까? 오늘 너무 당해서 모르겠다)
React 프로젝트에서는 REACT_APP_
접두어가 일반적으로 사용되고,
Next 프로젝트에서는 NEXT_PUBLIC_
접두어가 공개적으로 노출될 환경변수를 정의할 때 사용된다고 함