Как использовать несколько глобальных промежуточных программ в node.js, используя TypeScript? - PullRequest
0 голосов
/ 27 августа 2018

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