-
.env파일의 환경변수 관리Node.js,MongoDB 2022. 4. 13. 13:39
MongoClient.connect('mongodb+srv://ross1222:dlwnsdud12@ cluster0.ivzfq.mongodb.net/todoapp?retryWrites=true&w=majority', function(에러, client) { if(에러){return console.log(에러)} db = client.db('todoapp'); app.listen(8080, function(){ console.log('listening on 8080') }); })
server.js의 상단에 보면 connect부분에 mongodb+srv라는게 있다. 이런 값은 다른 개발환경이나 다른 컴퓨터로 코드를 옮기면 수정이 필요할 수 있다.
예를 들면, 다른 컴퓨터에선 8070포트를 열거나, DB접속 문자열이 바뀐다거나
이렇게 환경에 따라 가변적인 변수 데이터들을 환경변수(environment variable)라고 부르는데, 개발자들이 미래를 생각해 환경변수를 한곳에 모아서 .env라는 파일에 관리한다. 여기에 다 모아놓고, server.js에서
"env파일에 있는 포트숫자를 넣어주세요"라고 코딩한다.
1. 라이브러리 설치
npm install dotenv
2. 셋팅
이제 server.js 상단에
require('dotenv').config();
을 적어준다.
3. env파일 만들기
server.js와 같은 경로에 .env파일을 만들어준다.
그리고 변경 될 것 같은 환경변수를 적어준다. 왼쪽은 변수명 오른쪽은 값을 넣으며, 변수명은 보통 대문자로 표기한다.
PORT=8080 DB_URL="mongodb+srv://codingapple1@저쩌구"
4. server.js에 환경변수를 불러온다.
불러올 땐 process.env.변수이름 으로 불러올 수 있다.
MongoClient.connect(process.env.DB_URL, function(에러, client) { if(에러){return console.log(에러)} db = client.db('todoapp'); app.listen(process.env.PORT, function(){ console.log('listening on 8080') }); })
이런 식으로, 주소와 포트를 .env파일에서 불러와 사용할 수 있다.
이러면 나중에 변경이 필요할 때 server.js를 수정하는게 아니라 .env파일만 수정할 수 있으므로 한결 편리하다.
'Node.js,MongoDB' 카테고리의 다른 글
회원기능(회원만 삭제가능) (0) 2022.04.18 검색기능 (URL query string, indexing, Search index) (0) 2022.04.13 Session방식 로그인 기능 구현 (0) 2022.04.12 세션, JWT, OAuth등 회원인증 방법론 (0) 2022.04.12 글 수정하기 (edit기능) (0) 2022.04.12