(4-3) Express.js 미들웨어 등록 방법 – app.use()

Express.js에서 app.use() 메서드는 미들웨어 등록을 담당합니다.

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

미들웨어 기능

일반적으로 req, res, next의 세 가지 매개변수를 사용합니다.

req는 클라이언트가 요청한 정보를 포함하고 res는 클라이언트에게 보낼 응답 정보를 포함합니다.

next는 다음 미들웨어를 호출하는 함수로 해당 함수가 호출되지 않으면 다음 미들웨어가 실행되지 않는다.

app.use() 메소드

두 개의 매개변수를 허용합니다.

첫 번째 매개변수는 미들웨어 기능이고 두 번째 매개변수는 선택적으로 접두사를 지정할 수 있습니다.

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

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와 함께 마지막에 등록됩니다.

이를 통해 클라이언트에 오류 메시지를 보내거나 로그를 남길 수 있습니다.