Search
📁

따라하며 배우는 NestJS | Configuration

Date
2024/08/29
Category
WEB
Tag
Typescript
NestJS
개발 환경이나 운영 환경 등 환경에 따라 다르게 코드를 넣어줘야 할 때가 있음
노출되지 않아야 하는 코드들도 있음
이러한 코드들을 위해 설정 파일을 따로 만들어 보관
설정 파일은 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 }이 나옴