首页 > 解决方案 > 如何使用 TypeScript 在 node.js 中使用多个全局中间件?

问题描述

我的 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;
})();

然后你将能够传递combinedMiddlewarethis.app.use(combinedMiddleware);方法。

但是如何添加这个作为额外的中间件呢?

bodyParser.json({
    type: "*/*"
});

标签: node.jstypescriptexpress

解决方案


推荐阅读