.env 파일은 API 서버 주소와 같은 환경변수들을 관리하는 파일이다. 다양한 .env 파일이 존재한다.
next dev 사용시 env 파일 적용 순서는 아래와 같다. (.env.development.local이 우선순위 가장 높음)
- .env.development.local
- .env.local
- .env.development
- .env
next build 사용시 env 파일 적용 순서는 아래와 같다. (.env.production.local이 우선순위 가장 높음)
- .env.production.local
- .env.local
- .env.production
- .env
내가 원하는 건 다양한 환경에 따른 환경변수 실행인데 next dev의 경우 기본적으로 development가 들어가고 next build 및 start의 경우는 produciton으로 자동 세팅이 된다. 환경 파일을 강제로 주입하려고 했는데 프레임워크에 반하는 것이기 때문에 하지 않기로 했다. 로컬에서 개발할 땐 env.local 파일을 사용하고 개발서버의 경우 env.development파일을 운영서버의 경우 env.production 파일이 injection 되었으면 좋겠는데 흠... 굳이 위에 있는 파일을 다 만들지 않는 게 좋을 거 같고 개발의 경우 .env.development를 운영의 경우는 env.production 즉, 2가지만 만들어서 혼동이 없게 하는게 맞는 거 같다.
infisical이라는 걸 통해 서버에서 env파일을 관리하고 injection해서 사용하게 할 수 있다.
🔗 참고 및 출처
https://jjunn93.com/entry/React-env-%ED%99%98%EA%B2%BD-%EA%B5%AC%EB%B6%84-prod-dev-local
'[Next.js] > [Next 14]' 카테고리의 다른 글
[Next 14] 분석(모니터링), Typescript, ESLint, 환경 변수, 경로 별칭, MDX (0) | 2024.01.02 |
---|---|
[Next 14] Lazy Loading, Next/Dynamic (청크 분리, 코드스플리팅) (0) | 2024.01.02 |
[Next 14] 정적 데이터, 이미지, 폰트, 스크립트, 정적 메타데이터, Opengraph, 동적 메타데이터 (1) | 2024.01.02 |
[Next 14] 외부 라이브러리, 런타임(Runtime), CSS Style (0) | 2024.01.02 |
[Next 14] Server Component (SSR), Client Component (CSR) (1) | 2024.01.02 |