Мне нужно иметь несколько глобальных промежуточных программ в моем приложении 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
Хорошо, я нашел способ использовать несколько промежуточных программ здесь :
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: "*/*"
});