🌿 중급 개발도구
환경별 설정 파일이 뭔가요?
쉽게 이해하기
집과 사무실에서 쓰는 컴퓨터 설정을 따로 저장해두는 것과 비슷해요. 집에서는 모니터 1대에 낮은 해상도, 사무실에서는 듀얼 모니터에 높은 해상도로 자동 전환되는 거죠. 코드도 개발할 때와 실제 서비스할 때 설정이 달라야 해요.
핵심 정리
개발, 테스트, 배포 환경마다 다른 설정을 관리하는 파일로, 환경에 맞게 자동으로 적용돼요.
자세히 알아보기
환경별 설정 파일은 개발(development), 테스트(test), 프로덕션(production) 환경마다 다른 설정을 관리하는 파일이에요. 예를 들어 개발할 때는 로컬 데이터베이스를 쓰지만, 배포할 때는 실제 서버 데이터베이스를 써야 하잖아요.
보통 `.env.development`, `.env.production` 같은 이름으로 파일을 나눠요. Node.js 프로젝트에서는 dotenv 라이브러리로 이 파일들을 읽어와요. 프레임워크에 따라 자동으로 환경을 감지해서 알맞은 파일을 불러오기도 해요. Next.js나 Vite는 `NODE_ENV` 값에 따라 자동으로 `.env.local`, `.env.production` 같은 파일을 선택해요.
실무에서는 민감한 정보(API 키, 데이터베이스 비밀번호)는 환경변수로만 관리하고, `.env` 파일은 `.gitignore`에 추가해서 Git에 올리지 않아요. 대신 `.env.example` 파일로 어떤 환경변수가 필요한지 팀원들에게 알려주죠.
배포할 때는 Vercel, Netlify, AWS 같은 호스팅 서비스에서 환경변수를 웹 대시보드로 직접 입력해요. 그러면 로컬에 `.env` 파일이 없어도 배포된 서버에서는 환경변수를 사용할 수 있어요. 환경을 분리하면 실수로 개발 중에 실제 서비스 데이터를 건드리는 일을 막을 수 있어서 안전해요.