Node.js 에서 NODE_ENV 값으로 배포/개발 환경설정하기

5년 전

보통 Node.js 를 실행할 때

nodejs

NODE_ENV 값을 이용해서

production ( 배포 ) 모드
development ( 개발 ) 모드

이렇게 두 가지로 나누어서 실행하게 되는데요.

Node.js 프레임워크인 Express 의 경우


production 모드 일때는

파일 캐싱, 에러 메시지 감추기 등 배포의 적합한 환경 설정을 하구요.


development 모드 일 때는

파일 캐싱 방지, 디버그를 위한 상세한 에러 메시지 보이기

개발에 도움을 줄 수 있는 환경으로 설정을 해줍니다.


하지만 직접 이 값을 알아 내고 싶을 때가 있는데요.

이럴 때는 Express 에서 전체 앱을 총괄하는 역할을 맡고 있는 root 디렉토리의 app.js 에서 첫 줄


process.env.NODE_ENV = ( process.env.NODE_ENV && ( process.env.NODE_ENV ).trim().toLowerCase() == 'production' ) ? 'production' : 'development';


이렇게 해주면 NODE_ENV 가 따로 지정이 안되어 있더라도 development 모드로 지정되게 해줄 수 있습니다.


이후 이 앱 소스 어디에서나 ( require 된 파일 포함 )

if (process.env.NODE_ENV == 'production') {
  console.log("Production Mode");
} else if (process.env.NODE_ENV == 'development') {
  console.log("Development Mode");
}

위 처럼 NODE_ENV 값에 따라 하고 싶은 일을 함으로써 개발과 배포용 소스를 따로 분리해서 코딩 할 수 있습니다.


혹시 NODE_ENV 값을 설정하는 방법을 모르신다면

Linux, Mac OS X 기준으로

Terminal, Shell 창에서

export NODE_ENV=production

이렇게 해주시면 NODE_ENV 값을 설정 할 수 있게 됩니다.


한가지 더!

Terminal, Shell 창이 아닌 Windows 운영체제에서 Node.js 를 구동하실 때에는

set NODE_ENV=production

이렇게 조금 다른 명령어로 NODE_ENV 값을 설정할 수 있습니다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

안그래도 조만간 Node.js 사용해야 됬는데 감사합니다!

This post received a 93.31% upvote from @jongeun thanks to @jongeun! For more information, click here!