我的Node.JS应用程序中需要一些全局中间件。 他们俩就是这样:
public app: express.Application;
....
this.app = express();
....
let tokenFilter = async function filtering(req, res, next) {
//logic
};
let allowOnlyJson = bodyParser.json({
type: "*/*"
});
这就是我使用它们的方式:
app.use(tokenFilter);
app.use(allowOnlyJson);
但这不起作用。我应该如何同时通过它们? 我在这里找不到类似的问题,所有这些都是关于具体案例的。
编辑1
好吧,我已经找到了使用一些中间件here的方法:
var express = require('express');
var router = express.Router();
var connect = require('connect'); // we require connect
function middleware1(req, res, next) {
// snip...
}
function middleware2(req, res, next) {
// snip...
}
function handleRequest(req, res) {
// snip...
}
var combinedMiddleware = (function() {
var chain = connect();
[middleware1, middleware2].forEach(function(middleware) {
chain.use(middleware);
});
return chain;
})();
然后,您将可以将combinedMiddleware
传递给this.app.use(combinedMiddleware);
方法。
但是如何将其添加为其他中间件呢?
bodyParser.json({
type: "*/*"
});