Search

#026 #프로젝트 시작 / 환경변수 세팅

 공부용 깃허브

teaching-nestjs-a-to-z
amamov

 mongoose 6 공식 문서

 mongoose 설치

npm install --save @nestjs/mongoose mongoose
JavaScript
복사

 MongoDB 접속

 사이트를 접속해서 Cluster까지 들어온다.

Connect 클릭

 MongoDB for VScode 선택

 URI 복사

복사해서 모듈에다가 붙여넣는다.

 app.module.ts → mongoDB URI 세팅

// <password>는 실제 비번으로 바꿔줘야된다. mongodb+srv://test:<password>@cluster0.clagtco.mongodb.net/
JavaScript
복사
app.module.ts mongooseModule.forRoot(’몽고DB-URI’) 를 임포트 해줘야 되는데, 임포트 할때 필요한 URI는 우리가 MongoDB를 세팅할 때 상요했던 URI를 그대로 사용할 것이다. 위의 것을 사용하면 된다.

 환경변수 세팅

위의 DB connection URI는 절대 노출이 되면 안되는 데, 그러기 위해서는 이 내용을 환경변수화 해야된다.
공식 문서에는 이에 대한 내용이 TECHNIQUES > Configuration 에 게시되어 있다.

 환경변수 라이브러리 설치

npm i --save @nestjs/config
JavaScript
복사
위의 라이브러리를 설치하게되면 .env 기능을 사용할 수 있다.

 ConfigModule 임포트

.env 를 사용하려면 ConfigModule.forRoot() 를 import해주면 된다 .

 .env 파일 생성

프로젝트 루트 디렉토리에 .env 를 생성 한다.

 MONGODB_URI 정의

아까 사용했던 몽고디비 URI를 여기에 정의한다. 전역 환경변수는 다 대문자로 하는 게 컨벤션이다.

 프로젝트에서 env 사용하기

저장된 환경 변수를 꺼내쓸려면 process.env.MONGODB_URI 이렇게 꺼내 쓸 수 있다. 이렇게 꺼내 쓰기 위해서는 꼭 ConfigModule.forRoot() 가 임포트 되어 있어야 한다.
해당 환경변수를 글로벌로 사용하려면 이렇게 사용하라고 문서에 적혀있다.

 포트 환경변수 세팅

 .env

이렇게 .env파일 내부에 정의를 해주고

 main.ts

이렇게 PORT환경변수를 process.env.PORT 로 꺼내서 사용하면 된다.