Node.js 기초(6) - config로 비밀 정보 관리하기
[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/
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))
Comments