이 기사에서는 node의 Express 미들웨어에 대해 설명하고 개념과 미들웨어 분류를 소개하겠습니다.
Express는 Node.js캡슐화를 기반으로 하는 상위 계층 서비스 프레임워크로서 완전한 기능의 웹 애플리케이션을 신속하게 구축하는 데 사용할 수 있는 간단하고 유연한 웹 애플리케이션 개발 프레임워크입니다. 미들웨어 및 라우팅을 통해 애플리케이션 구성 및 관리가 더 쉬워집니다.
middleware의 개념은 요청 처리 기능을 여러 하위 처리 기능으로 모듈화하여 미들웨어
middleware를 구성할 수 있다는 것입니다. 애플리케이션의 응답 주기에서 요청 객체 req, 응답 객체 res 및 next() 함수에 액세스할 수 있습니다. next() 함수는 현재 미들웨어가 요청을 종료하지 않는 경우 주로 다음 미들웨어로 제어를 전달하는 역할을 합니다. next()가 호출되지 않으면 요청이 일시 중단되고 나중에 정의된 미들웨어가 실행되지 않습니다. ,
middleware의 실행 순서는 위에서 아래로 등록 순서를 엄격하게 따릅니다.
Middleware다음 작업을 수행할 수 있는 기능:
모든 코드 실행의 주요 목적은 로그인 상태 확인, 요청 로그, 오류 처리, 쿠키 등과 같은 특정 작업을 완료하기 위해 HTTP 요청을 처리하는 것입니다.
미들웨어 분류
1 애플리케이션 수준 미들웨어app.use() 함수를 사용하여 애플리케이션 수준 미들웨어를 애플리케이션 객체 인스턴스에 바인딩
const app = express(); /*表示匹配任何路由*/ app.use(function(req,res,next){ console.log('请求时间:' + Date.now()); /*表示匹配完成这个中间件就继续往下执行。*/ next() })
Route -레벨 미들웨어는 라우터 인스턴스에 바인딩된다는 점을 제외하면 애플리케이션 수준 미들웨어와 동일하게 작동합니다
import express from 'express'; const app = express(); const router = express.router(); router.use( '/user', function (req, res, next) { console.log(1); next(); }, function (req, res, next) { console.log(2); next(); }, function (rex, res, next) { console.log(3); next(); } );
오류 처리 미들웨어에는 항상 4개의 매개변수가 필요하며 오류로 식별하려면 4개의 매개변수를 제공해야 합니다. 미들웨어 기능을 처리합니다. 다음 함수가 필요하지 않더라도 지정해야 합니다. 그렇지 않으면 다음 함수는 일반 미들웨어로 해석되어 오류를 처리할 수 없습니다.
app.use(function(err, req, res, next){ console.log(err.stack); res.status(500).send(err); })
Express에는 다음과 같은 내장 미들웨어가 있습니다.
express.static: 정적 리소스 서비스 제공body-parser, cookie-parser 등의 타사 미들웨어
6 Custom 미들웨어Custom 미들웨어는 함수로 정의됩니다. , req ,res,next 매개변수를 수락하고 app.use()를 사용하여 미들웨어를 등록하세요.
function log(req,res,next) { req.requestTime = Date.now(); next() } // 注册自定义中间件 app.use(log);
// 自定义可配置中间件 function log(options) { return function (req,res,next) { // 根据options实现中间件功能 next } }
노드 관련 지식을 더 보려면
nodejs 튜토리얼위 내용은 Node Express 미들웨어 학습 및 채팅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!