실행하고 싶은 모드에 따라 다른 .env 파일을 반영
일단 실행하는 방법은 app.js 를 실행 시킬때 argument 를 제공하는 방식을 선택
$ node app.js local
$ node app.js product
그 후 주어진 argument에 따라 어떻게 .env 파일을 구성할 것인가에 대해서는
아래 두가지를 생각해보았다.
1. 변수들을 다른 파일에 기록하여 호출하기
설정해둔 값을 실행하고자는 환경에 따라 다르게 반영이 가능하다고 생각하여
const dotenv = require('dotenv');
const env = process.argv[2] || 'local';
dotenv.config({ path: `.env.${env}` });
console.log(`Start ${process.env.APP_ENV} mode`);
2. 하나의 파일에 기록하고 변수들의 앞부분에 구분되는 문자를 넣기
LOCAL_DB_HOST='local'
PRODUCT_DB_HOST='address'
그 후 아래와 같이 호출하여 사용.
const dotenv = require('dotenv');
const env = process.argv[2]||'local'
const dbHost = process.env[`${env.toUpperCase()}_DB_HOST`];
const dbUser = process.env[`${env.toUpperCase()}_DB_USER`];
결론은 1번을 선택
아무래도 따로 파일을 관리해야 정보를 구별하기도 쉽고,
현재 내가 작성해둔 코드에서 다른 .env 파일을 이용하여 호출할 때 app.js 에서만 조정을 해주면 된다..ㅎㅎ
'미니프로젝트 > 지하철역 보관함대여 앱' 카테고리의 다른 글
[ 미니프로젝트] .env 개선 사항 기록 (0) | 2024.04.16 |
---|---|
[미니프로젝트 ] [1] HTTPS 적용 : 2. cerbot 설치 및 인증서 발급 (0) | 2024.03.14 |
[미니프로젝트] [1] HTTPS 적용 : 1. nginx 설치 (0) | 2024.03.14 |
[ 미니 프로젝트 ] [1] 사물함 반환 구현에 대한 고찰 (0) | 2024.01.27 |
미니프로젝트 ] [1] 정렬방식 (0) | 2024.01.16 |