본문 바로가기
Backend

Express 기본 1

by 잘먹는 개발자 에단 2025. 7. 25.

1. 중앙집중식 에러처리

 

- 각 라우터에서 try...catch를 반복하는 대신에, 에러처리 미들웨어를 만들어서 모든 에러를 한 곳에서 관리할 수 있다. 

- 이렇게 하면 절대적인 코드 수가 줄기도 하고, 에러처리를 한 군데에서 하니 코드가 깔끔해진다.

- 에러에 대한 응답처리를 일관적으로 할 수 있다. 

const express = require('express');
const app = express();

app.get('/error', (req, res, next)=>{
	const err = new Error('뭔가 잘못되었음');
    err.status = 500;
    next(err); // next()에 인자를 전달하면 에러처리 미들웨어로 바로 이동한다. 
});


// 중앙 에러처리 미들웨어
const errorHandler = (err, req, res, next) => {
	console.error(err.stack); // 에러 로그 출력
    const status = err.status || 500;
    res.status(status).json({
    	message : err.message || '서버 내부 오류가 발생했습니다',
    });
}

app.use(errorHandler); // 가장 마지막에 등록
app.listen(3000);

 

 

2. 환경변수 관리 (dotenv)

 

- 먼저 패키지 설치 npm install dotenv

- 프로젝트 최상단에 .env 파일 생성

# .env 파일
PORT=4000
DB_HOST=localhost
DB_USER=myuser
DB_PASS=mypassword

 

- 다음으로 어플리케이션 시작 부분에서 dotenv 설정

// app.js 상단
require('dotenv').config();

const express = require('express');
const app = express();

const port = process.env.PORT || 3000; // .env 파일의 값을 사용, 없으면 3000

app.get('/', (req, res) => {
    // process.env.DB_HOST 와 같이 다른 환경변수도 사용 가능
    res.send('환경 변수 설정 완료!');
});

app.listen(port, () => {
    console.log(`${port}번 포트에서 서버 실행 중`);
});

 

 

 

 

'Backend' 카테고리의 다른 글

리버스 프록시  (0) 2025.04.09