더북(TheBook)

15.1.1 morgan과 express-session

 

현재 익스프레스 미들웨어 중 일부가 개발용으로 설정되어 있습니다. 이 미들웨어들을 배포용으로 설정할 것입니다.

app.js

...
app.set('port', process.env.PORT || 8001);

if (process.env.NODE_ENV ==='production') {
  app.use(morgan('combined'));
} else {
  app.use(morgan('dev'));
}
app.use(express.static(path.join(__dirname,'public')));
...

 

process.env.NODE_ENV는 배포 환경인지 개발 환경인지를 판단할 수 있는 환경 변수입니다. 배포 환경일 때는 morgancombined 모드로 사용하고, 개발 환경일 때는 dev 모드로 사용합니다. combined 모드는 dev 모드에 비해 더 많은 사용자 정보를 로그로 남깁니다.

참고로 process.env.NODE_ENV는 .env에 넣을 수 없습니다. 개발 환경인지 배포 환경인지에 따라 값이 변해야 하는데, .env 파일은 정적 파일이기 때문입니다. NODE_ENV를 동적으로 바꾸는 방법은 cross-env에서 알아봅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.