如何使用TypeScript在node.js中使用多个全局中间件?

时间:2018-08-27 19:37:21

标签: node.js typescript express

我的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: "*/*"
});

0 个答案:

没有答案