728x90
비밀 설정 정보 관리 🔐
git에 올릴때 DB 또는 IP 등의 정보를 비밀로 설정하기 위해 .gitignore에 설정을해주어야한다.
config라는 폴더를 만들고, dev.js 파일을 만들어 다음과 같이 설정해준다.
환경변수 process.env.NODE_ENV ⚙️
보통 개발을 진행할때 두가지의 환경에서 할 수 있다. Local환경의 development 환경, Deploy(배포)한 후 production 환경으로 나뉜다.
따라서 개발환경과 운영서버환경에서의 환경 변수를 따로 설정해주어야한다.
다음과 같이 개발서버, 운영서버의 환경을 나누어줄 파일을 생성하여 각각 다음과 같이 작성해준다
dev.js ( 개발 서버 )
module.exports = {
mongoURI:'개인 mongoDB'
};
key.js ( key 설정 )
if(process.env.NODE_ENV === 'production') {
module.exports = require('./prod') ;
} else {
module.exports = require('./dev');
}
prod.js ( 운영 서버 )
module.exports = {
mongoURI: process.env.MONGO_URI
};
마지막으로 index.js에서
const config = require('./config/key');
const mongoose = require("mongoose");
mongoose.connect(config.mongoURI, {
useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
}).then(() => console.log("MongoDB Connected…"))
.catch(err => console.log(err));
개인 mongoDB의 주소를 지우고 환경변수를 설정해주면 비밀 정보 설정하는데 끝 !
환경변수 설정 후 index.js
const express = require('express'); // package.json 에 있는 express 모듈을 가져온다.
const app = express(); // express을 이용하여 app을 만든다.
const port = 3000;
const bodyParser = require('body-parser');
const config = require('./config/key');
const { User } = require("./model/User");
// application/x-www-form-urlencoded 와 json 형태를 가져와
// 이렇게 되어있는 데이터를 분석해서 가져 올 수 있도록 도와주는 것
app.use(bodyParser.urlencoded({extend:true}));
app.use(bodyParser.json());
const mongoose = require("mongoose");
mongoose.connect(config.mongoURI, {
useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
}).then(() => console.log("MongoDB Connected…"))
.catch(err => console.log(err));
app.get('/', (req, res) => res.send('Hello World!-~ 안녕하세요 ~'));
app.post('/register', (req, res) => {
// 회원 가입 할때 필요한 정보들을 client에서 가져오면
// 그것들을 데이터 베이스에 넣어준다.
const user = new User(req.body);
user.save((err, userInfo) => {
if(err) return res.json({success: false, err});
return res.status(200).json({
success: true
})
})
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
});
.gitignore
node_modules
dev.js
다음과 같이 작성하여 git에 push하게 되면, dev.js 파일의 내용은 보여지지 않는다.
반응형
'Front-end > Node.js' 카테고리의 다른 글
#8. Auth 기능 만들기 (0) | 2020.12.26 |
---|---|
#7. Bcrypt 로 비밀번호 암호화 하기 (0) | 2020.12.12 |
#5. Nodemon 설치 (0) | 2020.11.24 |
#4. BodyParser & Postman & 회원 가입 기능 (0) | 2020.11.18 |
#3. MongoDB Model & Schema 만들기 (0) | 2020.11.17 |