ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • .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파일만 수정할 수 있으므로 한결 편리하다.

    댓글

Designed by Tistory.