NodeMon 설치 & 비밀 설정 정보 관리
서버 코드를 변경할 때마다 서버를 재시작해야 하는 번거로움이 있는데 이것을 해결해주는 것이 nodemon이다. 이 도구를 사용하면 자동으로 위 작업을 해준다.
위에 보면 -dev가 붙어있는데 이것은 development 모드의 약자다.
development 모드(local에서 할 때랑), production 모드(배포를 한 다음의 모드)가 있고, 우리가 로컬에서 할 때만 사용하겠다는 의미이다.
이렇게 다운로드하면 dependencies가 아니라 devdependencies에 버전이 들어가 있는 걸 확인할 수 있다.
nodemon으로 시작해야 되기 때문에 scripts를 수정해주자.
다음으로는 소스 안에있는 비밀정보를 보호하는 작업이다.
지금까지 게시글에는 가렸지만 소스 안에는 mongoDB 내 정보가 들어있기 때문에 이걸 보호하는 작업을 해야 한다.
config 폴더를 만들어서 dev.js, prod.js, key.js 파일을 만들자.
여기서 생각해야 될 점이 development 모드에서 개발을 할 때랑 production 모드에서 개발을 할 때가 있다는 점이다.
dev모드 일 때는 dev.js 안에 있는 mongoURI변수를 가져올 수 있다. 그리고 배포를 한 후에는 웹 사이트에서 갖고 올 수 있다.
후자의 경우, 헤로쿠 사이트에 따로 Config vars란에 prod.js 파일에서 설정해주었던 MONGO_URI 변수 이름과 정보를 넣어줘야 한다. 이것은 헤로쿠 사이트에서 따로 관리를 해준다.
key.js 내용에서 나오는 process.env.NODE_ENV는 환경변수를 의미하는데 이 환경변수가 dev모드인지 prod모드인지에 따라 다르다. 현재 나는 local에서 개발을 하고 있으므로 dev모드이다.
그리고 index.js 파일에 mongoDB를 연결하는 부분에서 자신의 mongoDB 정보를 없애고 다음과 같이 바꿔주자.
key에서 우리가 local 환경일 땐 dev.js에서 변수를 갖고 오고, prod 환경일 땐 웹사이트에서 갖고 온다.
그리고 github에 해당 소스코드들을 올릴 땐, .gitignore 파일에 dev.js 파일을 넣어서 사람들이 내 github를 봤을 때 mongoDB 정보를 볼 수 없도록 해주자.