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와 함께 마지막에 등록됩니다.
이를 통해 클라이언트에 오류 메시지를 보내거나 로그를 남길 수 있습니다.