gpt4 book ai didi

javascript - 如何在nodejs express中的所有http请求中使用中间件

转载 作者:行者123 更新时间:2023-12-01 03:00:03 25 4
gpt4 key购买 nike

我正在nodejs应用程序中创建一个中间件,我想在中间件的请求中添加 header 并将其发送到我的端点index.js请求。

中间件1.js

exports.mw1 = function(req, res, next) {
next();
};

中间件2.js

exports.mw2 = function(req, res, next) {
next();
};

app.js

var mw1 = require("./middlewares/middleware1");
var mw2 = require("./middlewares/middleware2");

var combinedMiddleware = function compose(middleware) {
return function(req, res, next) {
connect
.apply(null, middleware.concat(next.bind(null, null)))
.call(null, req, res);
};
};

app.use(combinedMiddleware([auth, audit]));
app.use("/", index);

index.js

var express = require("express");
var router = express.Router();

router.get("/", function(req, res) {
res.send("Welcome!!");
});

module.exports = router;

当我尝试调用它时http://localhost:3000/然后它返回 404 Not Found。相反,它应该将请求重定向到两个中间件,然后重定向到index.js

GET / 404 8.700 ms - 139

有人知道这是怎么回事吗?

最佳答案

也许我错过了一些东西,但为什么你不这样做:

var mw1 = require("./middlewares/middleware1");
var mw2 = require("./middlewares/middleware2");

app.use(mw1, mw2);
app.use("/", index);

并将您的中间件更改为:

module.exports = function(req, res, next) {
next();
};

关于javascript - 如何在nodejs express中的所有http请求中使用中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46487723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com