brunch

dotenv 설정하기

by 이종복

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

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

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

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


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


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

hello198.png


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

hello205.png


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

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


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

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

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


hello203.png


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

hello204.png


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이 설정되어야 함을 확인할 수 있습니다.

hello202.png


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

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

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

hello219.png


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

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

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

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

hello220.png



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

keyword
매거진의 이전글MongoDB 연결하기