0
我在nodejs应用程序中创建了一个中间件,我想在中间件的请求中添加头并将其发送到我的端点index.js请求。如何在nodejs中的所有http请求中使用中间件express
middleware1.js
exports.mw1 = function(req, res, next) {
next();
};
middleware2.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
有谁知道什么是错呢?
我得到'抛出新的TypeError('Router.use( )需要中间件功能,但得到'+ gettype(fn));' –
您只需要导出中间件文件中的函数:'exports = function(...' – winseybash
'module.exports'如何与'exports .mw2'或'exports.mw1'? –