02-07 05:22
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[Web App / Express] Development/Production Mode 본문

Programming/Web App

[Web App / Express] Development/Production Mode

cinema4dr12 2015. 11. 7. 22:24

Express 4.x가 지원하는 모드에 대하여 알아보기로 하자.

모든 소프트웨어 개발이 그렇듯 Express도 개발(Development) 모드와 제품(Procudction) 모드가 있다. 이는 각각 Debug 모드와 Release 모드에 해당한다고 할 수 있다.

Development Mode에는 로그 메시지 등 개발에 도움이 되는 상세한 정보 등을 포함한다.


현재 모드를 알아보려면 app.js에 다음과 같이 입력한다:

console.log(app.get('env'));


만약 Development Mode라면, 터미널에 "development"를 출력하고 Production Mode라면 "production"을 출력한다.

그러면 이제 Mode를 설정하는 방법에 대하여 알아보자.


Linux / Mac OS

Linux 또는 Mac OS에서는 Terminal/Shell에 다음과 같이 명령을 입력한다:


[Development Mode]

$ export NODE_ENV=development


[Production Mode]

$ export NODE_ENV=production



Windows

Windows에서는 Console에 다음과 같이 입력한다:


[Development Mode]

> set NODE_ENV=development


[Production Mode]

> set NODE_ENV=production



Example


모드에 따라 환경설정을 정의하고 정의된 환경에 따라 내용을 출력하는 예제를 작성해 보자.

우선 Express App의 root 경로에 다음 JSON 포맷의 환경설정 파일을 작성한다:


[config.json]

{
	"development": {
		"db_host": "localhost",
		"db_user": "root",
		"db_pass": "root"
	},

	"production": {
		"db_host": "192.168.1.0",
		"db_user": "cinema4d",
		"db_pass": "!12345"
	}
}


app.js 파일에 다음을 입력한다:


[app.js]


현재 모드를 Development Mode로 설정하고, 웹 브라우저에서 Express App에 접속하면 Terminal에서 다음의 로그를 출력한다:

localhost

root

root


현재 모드를 Production Mode로 설정하고, 웹 브라우저에서 Express App에 접속하면 Terminal에서 다음의 로그를 출력한다:

192.168.1.0

cinema4d

!12345


Comments