node.js - 如何使用 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;
})();
然后你将能够传递combinedMiddleware
给 this.app.use(combinedMiddleware);
方法。
但是如何添加这个作为额外的中间件呢?
bodyParser.json({
type: "*/*"
});
解决方案
推荐阅读
- css - 是否可以将 React Native alignItems 布局属性中的参考基线设置为子基线
- python - 无法导入模块“app”:使用 Chalice 在 Aws Lambda 中没有名为“app”的模块
- html - 如何在 Angular 中创建嵌套表?
- bash - 在 bash 中调用该函数不会给出正确的结果
- excel - 用vba关闭sap导出多个excel文件
- angular - Angular:如何从后端加载 svg 文件并将其内容用作模板?
- sql - 在 Oracle 中对集合类型“对象”进行批量收集
- applescript - 如何在 AppleScript 中仅对连接字符串的一部分进行 URLencode
- angular - 带有 ng-template 的 Angular 动态组件
- angular - ngx-extended-pdf-viewer 不显示文本(错误的 cmaps 路径)