如何在 Express.js 中跳过一个中间件?
如果我们想跳过一个中间件,我们可以将参数传递给中间件函数,并根据该参数决定调用哪个中间件和不调用哪个中间件。
先决条件:
- express.js: 处理路由。
设置环境和执行:
-
步骤 1: 初始化节点项目
js npm init
-
步骤 2: 安装所需模块
js npm install express
示例:
index.js
const express = require("express");
// const database = require('./sqlConnection');
const app = express();
// Start server on port 5000
app.listen(5000, () => {
console.log(`Server is up and running on 5000 ...`);
});
// define middleware 1
let middleware1 = (req, res, next) => {
// decide a parameter
req.shouldRunMiddleware2 = false;
console.log("Middleware 1 is running !");
next();
}
// define middleware 2
let middleware2 = (req, res, next) => {
if(!req.shouldRunMiddleware2) {
console.log("Skipped middleware 2");
return next();
}
console.log("Middleware 2 is running !");
}
// define middleware 3
let middleware3 = (req, res, next) => {
console.log("Middleware 3 is running !");
}
// create route for home page '/'
app.get("/", middleware1, middleware2, middleware3);
输出:运行以下命令启动服务器。之后转到浏览器上的http://localhost:5000查看控制台中的输出
node index.js
- 在浏览器中。
- 控制台:
版权属于:月萌API www.moonapi.com,转载请注明出处