brunch

You can make anything
by writing

C.S.Lewis

by 이종복 Jun 06. 2019

dotenv 설정하기

 이번 글은 dotenv 설정에 대해서 다루겠습니다. 

 dotenv를 설정하는 이유는 DB url을 감추기 위해서입니다. 

 DB url이 노출되어서 Github에 올라가면 보안상 위험이 있을 수 있으므로,

이를 dotenv를 통해서 안전하게 감춰줍니다. 


 dotenv를 설정하는 과정은 다음과 같습니다. 


1) 우선, npm install dotenv로 dotenv를 다운 받습니다. 


2) .env 파일을 만들고, MONGO_URL과 PORT를 추가해줍니다. 


3) 다음은 db.js로 돌아와서 3줄의 코드를 추가해줍니다. 

     각 줄이 의미하는 바는 다음과 같습니다. 


     import dotenv from "dotenv" : dotenv를 db.js파일에서 사용할 수 있도록 import합니다. 

     dotenv.config() : .env파일 안에 있는 정보를 불러옵니다. 

     process.env.MONGO_URL: .env파일에 선언된 MONGO_URL을 가져옵니다. 

     


4) npm start를 통해 실행하면, 다음과 같이 DB가 연결됨을 확인할 수 있습니다. 


5) 만약 process.env.MONGO_URL을 주석처리하고 실행하면,

     다음과 같은 에러 메시지가 뜨는 것을 확인할 수 있습니다. 

     에러 메시지를 해석하면 다음과 같습니다. 

     MongooseError: The `uri` parameter to `openUri()` must be a string, got "object". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.

    -> mongoose.connect()의 첫번째 parameter는 반드시 string이어야 합니다. 

         OpenUri()의 Uri parameter는 String이어야 합니다. 

    즉, MongoDB를 연결하려면, 우선적으로 DB의 URL이 설정되어야 함을 확인할 수 있습니다. 


6) 마지막으로 init.js로 이동해서, 다음과 같은 3줄의 코드를 추가해줍니다. 

     이 코드를 추가하는 이유는, init.js로 app이 시작됨과

     동시에 dotenv가 적용되게 하기 위함입니다. 


7)마지막으로 .gitignore에 .env를 추가해줍니다. 

   이 경우 NodeJS gitignore(https://github.com/github/gitignore/blob/master/Node.gitignore)

    를 통해 gitignore를 추가해두었다면 이미 .env가 추가되어있음을 확인할 수 있습니다. 

    .gitignore에 추가된 파일들은 github에 업로드될 때, 제외되는 파일들입니다. 



"다음은 노마드코더(https://academy.nomadcoders.co/)의 [초급 풀스택] 유튜브 클론 코딩 강의를 참고하였습니다."

매거진의 이전글 MongoDB 연결하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari