Node.js 기초(6) - config로 비밀 정보 관리하기

less than 1 minute read

[config에서 비밀 정보 관리하기]

MongoDB를 사용할 때 URI를 그냥 git에 배포하게 된다면 다른 사람들도 나의 MongoDB 계정을 이용할 수 있습니다. 이를 방지하기위해 config 폴더에서 MongoDB URI를 관리하고 .gitignore에 추가하면 됩니다.

환경 변수 process.env.NODE_ENV

  • Local 환경 : process.env.NODE_ENV === ‘development’
  • Deploy(배포) 환경 : process.env.NODE_ENV === ‘production’

폴더 및 js파일 생성

폴더생성

1. key.js

if(process.env.NODE_ENV === 'production'){	
    module.exports = require('./prod')	
}else{	
    module.exports = require("./dev");	
}	

process.env.NODE_ENV를 이용해서 현재 환경에 맞는 곳에서 URI를 받아옴

2. Local : dev.js

module.exports = {	
  mongoURI:	
    "mongodb+srv://wonseok:비밀번호@want-robtu.mongodb.net/<dbname>?retryWrites=true&w=majority",	
};	

3. Deploy : prod.js

module.exports = {	
    mongoURI: process.env.MONGO_URI	
}	

환경 변수는 Heroku를 이용해서 관리할 수 있음. Heroku에 등록한 변수명과 동일해야됨

https://www.heroku.com/

환경변수 설정하기

heroku

4. index.js 수정

const config = require('./config/key')	
// 수정	
mongoose.connect(config.mongoURI, {	
  useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false	
}).then(() => console.log('MongoDB Connected...'))	
.catch(err => console.log(err))	

Categories:

Updated:

Comments