Next.js를 활용하여 지도앱을 만들고 env파일에 Client ID를 저장하려다
.env
와.env.local
의 차이가 궁금해서 찾아보았습니다.
.env
파일은 환경변수(Environment Variables)를 저장하는 데 사용됩니다. 파일을 쓰는데는 여러가지 이유가 있습니다.
.env
파일은 중요한 정보, 예를 들어 데이터베이스 비밀번호나 API 키와 같은 민감한 데이터를 코드에서 분리하여 저장합니다. 이를 통해 이러한 정보가 외부로 유출되는 것을 방지할 수 있습니다. 특히 .env
파일은 .gitignore
에 추가하여 github와 gitlab 같은 곳에 코드를 업로드할 때 제외시키는 것이 일반적입니다.
또한 .env
파일을 사용하면 개발 환경, 테스트 환경, 프로덕션 환경 등 다양한 환경에서 애플리케이션이 동작하는 방식을 쉽게 구분하고 관리할 수 있습니다. 각 환경에 따라 다른 환경변수를 설정함으로써, 같은 코드를 다른 설정으로 실행할 수 있습니다.
이에 대한 내용은 Next.js 공홈 docs를 통해 이해할 수 있었습니다.
🔗링크 - Default Environment Variables
공식적인 입장으로는 .env.local
로 된 파일은 한 개의 파일만 요구한다고 나와있지만 dev나 prod 환경에서 .env
파일이 필요할 시, ,env.development
혹은 ,env.production
을 사용할 수 있습니다.(환경에 따른 다른 환경변수 설정)
.env (모든 환경)
.env.development (development 환경)
.env.production (production 환경).
.env.local
파일은 항상 기본값을 덮어씌웁니다(설정된 기본값 재정의).