English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS 기본 튜토리얼

NodeJS Express.js

NodeJS 버퍼&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS 파일(FS)

NodeJS 다른

Express.js 미들웨어

Express.js 중간 처리 기능

중간 처리 기능이 무엇인가요?

중간 처리 기능은 요청과 응답 객체에 접근할 수 있는 기능이며, next는 애플리케이션의 요청에서도 사용할 수 있습니다.-응답 주기에서 사용하는 기능.

이 튜토리얼에서는 Node.js Express 애플리케이션에서 중간 처리 기능 함수를 정의하고, 중간 처리 기능 함수를 호출하는 방법을 배웁니다.

중간 처리 기능 용어

request – 클라이언트가 HTTP 요청(예: PUT, GET 등)을 보낼 때 Express 애플리케이션에 도착하는 HTTP 요청입니다. 쿼리 문자열, URL 파라미터, 헤더 등의 속성을 포함합니다.

response– 객체는 Express 애플리케이션이 HTTP 요청을 받았을 때 보내는 HTTP 응답을 나타냅니다.

next – next는 다음 중간 처리 기능 스택의 다음 중간 처리 기능을 계속합니다.

request-response cycle(요청-응답 주기) – 요청이 Express 애플리케이션에 들어오기 시작하고, 응답이 애플리케이션을 떠나 요청을 위해 처리될 때까지 실행되는 작업 주기.

중간 처리 기능 스택– 요청에서-응답 주기를 통해 실행되는 중간 처리 기능 스택.

중간웹 서버 기능 정의

중간 처리 기능 정의에서 이미 언급했듯이, 요청, 응답 객체 및 다음 기능에 접근할 수 있습니다.

JavaScript 함수의 문법과 동일합니다. 요청, 응답 객체, 다음 함수를 파라미터로 받습니다.

 
 function logger(req, res, next) { 
    
 }

 여기 logger는 함수 이름이며, req는 HTTP 요청 객체이고, res는 노드 응답 객체이며, next는 요청입니다.-응답 주기의 다음 함수

또한, request object의 모든 속성과 메서드 req에 접근할 수 있습니다.

또한, response object의 모든 속성과 메서드 res에 접근할 수 있습니다.

next() 미들웨어 함수 내부의 호출 함수는 선택 사항입니다. next() 문을 사용하면 요청에서-응답 주기에서 다음 미들웨어 기능을 실행합니다. next() 함수를 호출하지 않으면, 주어진 요청의 실행이 여기에서 중단됩니다.

function logger(req, res, next) { 
    // 귀하의 코드
    next() // 중간웨어 스택에서 다음 함수 호출
 }

중간웨어 호출

Express 애플리케이션에서는 use 함수를 통해应用程序 객체에 중간웨어를 호출할 수 있습니다.

var express = require('express') 
var app = express() 
 
function logger(req, res, next) { 
   // 귀하의 코드
   next() 
 } 
 
app.use(logger)

Express.js 미들웨어 예제

이 예제에서는 logger라는 미들웨어를 정의하겠습니다. 이 미들웨어는 현재 시간과 쿼리 문자열을 콘솔에 기록합니다.

app.js

var express = require('express') 
var app = express() 
 
// 중간웹 서버 기능 정의
function logger(req, res, next) { 
   console.log(new Date(), req.url) 
   next() 
 } 
 
// 각 요청에 대해-응답 주기를 통해 logger middleware를 호출
app.use(logger) 
 
// 위치“ /”실행하는 루트
app.get('/', function(req, res) { 
   res.send('This is a basic Example for Express.js by w3codebox') 
 ) 
 
// 서버 시작
var server = app.listen(8000, function(){ 
    console.log('Listening on port 8000...') 
 )

이 애플리케이션을 시작한 후, 브라우저에서 다음 URL을 클릭하세요。

  • http://localhost:8000/

  • http://localhost:8000/헬로-페이지/

출력은 다음과 같습니다

리스닝에 대해서8000의 모든应用程序의 각 요청에 대해, 우리는 중간웹 서버 기능을 추가했습니다. url http://localhost:8000/URL은/ 따라서 logger의 출력은 현재 시간과 '/URL에 대해서도 마찬가지입니다'。/헬로-페이지/。