프로젝트를 open source로 진행한다거나등의 경우에 open source이더라도 다른 사용자가 다른 사용자의 정보를 공개된 데이터베이스 url을 통해 open해선 안되겠죠. 이렇게 특정 정보를 숨기고 싶을 때 dotenv를 이용합니다.
%npm install dotenv
터미널에 입력
.env 파일을 프로젝트 폴더에 생성해주고 아래와 같이 숨기고 싶은 내용을 적어줍니다.
MONGO_URL = "mongodb://localhost:27017/데이터베이스명"
dotenv의 config 메서드를 실행하게 되면 .env 파일안의 값들을 지정된 key에 할당해주기 때문에 실행한 파일 안에서 불러와 사용할 수 있습니다. 불러온 내용은 process.env.에 저장되게 됩니다.(init.js파일에서 import 'app.js'
전에 적어주면 다른 파일에선 import하지 않아도 됩니다)
import dotenv from 'dotenv'
dotenv.config();
mongoose.connect(proces.env.MONGO_URL,{
/*생략*/
});
이렇게 설정을 완료한 뒤에는 .env 파일을 .gitignore에 등록해야합니다. 등록하지 않으면 .env 자체가 노출되기 때문에 key를 숨긴 의미가 없어집니다.