반응형

.env 파일은 API 서버 주소와 같은 환경변수들을 관리하는 파일이다. 다양한 .env 파일이 존재한다.

 

next dev 사용시 env 파일 적용 순서는 아래와 같다. (.env.development.local이 우선순위 가장 높음)

  1. .env.development.local
  2. .env.local
  3. .env.development
  4. .env

 

next build 사용시 env 파일 적용 순서는 아래와 같다. (.env.production.local이 우선순위 가장 높음)

  1. .env.production.local
  2. .env.local
  3. .env.production
  4. .env

 

내가 원하는 건 다양한 환경에 따른 환경변수 실행인데 next dev의 경우 기본적으로 development가 들어가고 next build 및 start의 경우는 produciton으로 자동 세팅이 된다. 환경 파일을 강제로 주입하려고 했는데 프레임워크에 반하는 것이기 때문에 하지 않기로 했다. 로컬에서 개발할 땐 env.local 파일을 사용하고 개발서버의 경우 env.development파일을 운영서버의 경우 env.production 파일이 injection 되었으면 좋겠는데 흠... 굳이 위에 있는 파일을 다 만들지 않는 게 좋을 거 같고 개발의 경우 .env.development를 운영의 경우는 env.production 즉, 2가지만 만들어서 혼동이 없게 하는게 맞는 거 같다.

 

 

infisical이라는 걸 통해 서버에서 env파일을 관리하고 injection해서 사용하게 할 수 있다.

https://infisical.com/

 

Infisical is an open-source end-to-end platform to manage secrets and configuration across your team and infrastructure.

Secret Rotation and Dynamic Secrets

infisical.com

 

 

 

🔗 참고 및 출처

https://jjunn93.com/entry/React-env-%ED%99%98%EA%B2%BD-%EA%B5%AC%EB%B6%84-prod-dev-local

반응형