•
개발 환경이나 운영 환경 등 환경에 따라 다르게 코드를 넣어줘야 할 때가 있음
•
노출되지 않아야 하는 코드들도 있음
•
이러한 코드들을 위해 설정 파일을 따로 만들어 보관
•
설정 파일은 runtime 도중에 바뀌는 것이 아닌 애플리케이션이 시작할 때 로드가 되어 그 값을 정의함
•
설정 파일은 XML, JSON, YAML, Environment Variables 같이 여러 파일 형식을 사용 가능
Codebase VS. Environment Variables(환경 변수)
•
XML, JSON, YAML 같은 경우 Codebase에 해당
•
비밀번호와 API Key 같이 노출되면 안되는 정보들을 ghksrud qustnfmf dldydgo cjfl
•
Codebase → 일반적으로 Port 같이 노출되도 상관 없는 정보들
•
환경 변수 → 비밀번호나 API Key 같은 노출되면 안되는 정보들
필요 모듈
•
윈도우의 경우 win-node-env 설치
◦
npm install -g win-node-env
•
윈도우와 맥 모두 config 모듈 설치
◦
npm install config --save
Config 모듈을 이용한 설정 파일 생성
1.
루트 디렉토리에 config 폴더 생성하여 폴더에 JSON이나 YAML gudtlr vkdlf todtjd
2.
config 폴더 안에 default.yml, development.yml, production.yml 파일 생성
a.
default.yml
i.
기본 설정 (개발 환경, 운영 환경 모두 적용)
b.
development.yml
i.
default.yml + 개발 환경에서 필요한 정보
c.
production.yml
i.
default.yml + 운영 환경에서 필요한 정보
3.
어느 파일에서든지 config 모듈을 import 해서 사용
•
import * as config from 'config';
4.
config.get(’server’) ⇒ 이렇게 하면 { port: 3000 }이 나옴