Ziks

Node.js에서의 Development Mode, Production Mode 분기 본문

Development/Nodejs

Node.js에서의 Development Mode, Production Mode 분기

YunZiks 2020. 12. 8. 23:38

개발을 완료하고 서비스를 배포하거나 오픈소스로서 깃 허브에 배포되지 말아야하는 정보들이 있습니다. DB의 Password나 외부 API의 Key값, 클라이언트에게 보이지 말아야 할 에러 메시지등 이러한 정보들은 배포시에 함께 배포되면 안되기에 NODE_ENV 환경변수를 설정하고 Development 모드Production 모드로 나누고 이를 활용해야 합니다.

1
2
3
4
config/
├── development.js
├── key.js
└── production.js
cs

 

먼저, Project 내에 config폴더를 만들고 다음과 같이 구성해주세요. 모듈명에서 이미 들어나듯 deveopment와 production모드를 나누고 key.js에서 환경을 파악한 후에 맞는 모듈을 찾아 Export 하는 방식입니다.

구성하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// config/development.js
module.exports = {
  PORT: 5000,
}
 
 
// config/production.js
module.exports = {
  PORT: process.env.PORT,
};
 
// config/key.js
if(process.env.NODE_ENV === 'production'){
  module.exports = require('./production');
else {
  module.exports = require('./devopment');
}
 
cs

 

  • development.js 모듈에는 Express 서버 환경의 개발 포트가 설정 되어있고 이를 module.exports를 이용해 export 해줍니다.
  • production.js 모듈은 배포환경에 맞도록 작성해주시면 됩니다.
  • key.js에서 process.env.NODE_ENV를 활용하여 각 환경에 맞는 라우팅이 이루어 질 것입니다.

이렇게 개발, 배포환경에 맞게 각 변수들을 모듈별로 나눈 후에 .gitignoredevelopment.js 를 설정 해주시면 배포시 개발환경에 대한 정보들은 배포되지 않을것입니다. 분기를 통해 얻는 장점은 프로젝트 내의 공통된 변수를 정의함으로서 쉽게 관리가 가능한 편리함과 프로젝트의 민감한 정보를 보호할 수 있을 것입니다.

 

'Development > Nodejs' 카테고리의 다른 글

JS Math  (0) 2019.07.10
Comments