티스토리 뷰
저번 시간에는 nodemon을 설치함으로써 서버다운 없이 리프레시를 할 수 있는 모듈을 설치하였다.
또한 package에 대해 개발/배포에 따라 구별을 하는 방법을 알았다.
그래서 이번에는 서버 설정을 하다 보면 깃에 올리지 말아야 할 것이 있다.
보완성을 더욱 높이는 방법에 대해 정리를 해보았다.
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))
...
mongoDB를 연결할 때, 기존에는 mongoose.connect('mongodb+srv://test:<password... 를 진행하였는데 이 부분은 개인정보 및 다른 사람이 사용할 수 있기에 보완성이 필요하다. 따라서 GITHUB에는 올라가지 않지만, 개발환경에서는 해야 하기에 따로 정리를 해야 한다.
mongoose(몽구스)
몽구스는 node.js를 위한 우아한 mongodb 객체 모델링이다. MongoDB 유효성 검사, 캐스팅 및 비즈니스 로직 보일러 플레이트를 작성하는 것에 어려움을 해소해줄 모델링이라 할 수 있다.
config/dev.js
module.exports = {
mongoURI: 'mongodb+srv://test:<password>@...'
}
config 폴더 안에 dev.js를 만들어 module.exports를 한다. 그리고 여기서 또 하나 해야 할 것은 추후에 배포 시에 사용될 module.exports를 위해 한 가지 더 작업을 진행해준다.
config/key.js
if(process.env.NODE_ENV === 'production') {
module.exports = require('./prod');
}else {
module.exports = require('./dev');
}
만약 환경변수가 배포 중일 때와 로컬에 따라서 module.exports값을 다르게 설정하는 것이다. 배포 중일 때는 prod스크립트를, 아닐 경우 dev스크립트를 내보내 준다.
config/prod.js
module.exports = {
mongoURI: process.env.MONGO_URI
}
여기서 MONGO_URI값은 헤로쿠에서 쓰이는 값과 동일하게 설정하면 배포 중인 상태에서도 문제없이 사용할 수 있다. 현재는 만들지는 않았지만, key, dev스크립트로 자체적으로는 잘 돌아가고 있는 현실이다.
여기까지 오늘의 내용을 조금 정리를 해보았다.
하지만 조금 이해가 가지 않는 부분도 몇 가지 분명 존재하지만, 너무 완벽하게 하다가는 진도에 차질이 생길 거 같아
일단 여기까지 정리를 해보려고 한다.
추후 더 알아가는 내용이 생길 경우 더 업데이트할 예정이다.
21. 03. 23. upload
21. 04. 18 mongoose 정의 추가
'Back-End > Node' 카테고리의 다른 글
boiler-plate : 로그인 기능을 추가하기 (0) | 2021.03.25 |
---|---|
boiler-plate : 비밀번호를 암호화하여 받기 (0) | 2021.03.24 |
mongoDB : 몽고DB 연결하기 (0) | 2021.03.21 |
몽고디비(MongoDB) 시작하기 (0) | 2021.03.17 |
boiler-plate : nodemon을 설치하여 서버다운없이 리프레시하기 (0) | 2021.03.12 |
- Total
- Today
- Yesterday
- array
- node-sass
- 파이썬
- java
- 코딩테스트
- 노드
- 리덕스
- react
- github
- programmers
- 재공부
- Visual Studio Code
- mongodb
- Switch
- javascript
- node.js
- 함수
- 리액트 썸네일
- Coding Test
- 뷰
- 자바스크립트
- redux
- CSS
- 자바
- node
- 프로그래머스
- 배열
- Git
- 리액트 유튜브
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |