본문 바로가기
STUDY/ExpressJS

[4-3] Express.js 미들웨어 등록 메소드 - app.use()

by Y.Choi 2023. 3. 31.
728x90
반응형

Express.js에서 app.use() 메소드는 미들웨어를 등록하는 역할을 합니다. 

미들웨어는 클라이언트 요청을 처리하기 전에 실행되는 함수로, 요청과 응답에 대한 정보를 변경하거나, 다음 미들웨어를 호출하기 전에 처리할 작업을 수행할 수 있습니다.

미들웨어 함수

보통 req, res, next 세 개의 매개변수를 받습니다. req는 클라이언트 요청에 대한 정보를, res는 클라이언트에게 보낼 응답 정보를 담고 있습니다. next는 다음 미들웨어를 호출하는 함수로, 해당 함수를 호출하지 않으면 다음 미들웨어가 실행되지 않습니다.

 

app.use() 메소드

두 개의 인자를 받습니다. 첫 번째 인자는 미들웨어 함수로, 두 번째 인자는 선택적으로 경로(prefix)를 지정할 수 있습니다. 

경로를 지정하지 않으면 모든 요청에 대해 해당 미들웨어가 실행됩니다.

 

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

// 미들웨어 함수 정의
const myMiddleware = function (req, res, next) {
  console.log('미들웨어 실행');
  next();
};

// 모든 요청에 대해 myMiddleware 함수를 실행하도록 등록
app.use(myMiddleware);

// /user 경로에 대해 myMiddleware 함수를 실행하도록 등록
app.use('/user', myMiddleware);

 

위 코드에서 myMiddleware 함수는 요청에 대한 정보를 출력하고, next() 함수를 호출하여 다음 미들웨어를 실행하도록 합니다. app.use() 메소드를 통해 모든 요청에 대해 myMiddleware 함수를 실행하도록 등록하였으며, /user 경로로 들어온 요청에 대해서도 동일한 미들웨어 함수를 실행하도록 하였습니다.

 

 

 

에러 처리 미들웨어는 보통 마지막에 등록되며, err, req, res, next 매개변수를 받습니다. 이를 통해 클라이언트에게 에러 정보를 보내거나, 로그를 남기는 등의 작업을 수행할 수 있습니다.

728x90
반응형