express中间件中的参考应用程序

express中间件中的参考应用程序,express,Express,假设我们在express 4.0中有一些中间件: 有没有办法获取应用程序对象 我正在编写几个自定义中间件包,我发现自己需要从另一个文件中引用应用程序。我在做这样的蠢事: app.usefabMiddlewareapp 这实际上是一个高阶函数: const fabMiddleware = (app) => { return function(req, res, next) { // ... now i can use app } } modue.exports = fabMi

假设我们在express 4.0中有一些中间件:

有没有办法获取应用程序对象

我正在编写几个自定义中间件包,我发现自己需要从另一个文件中引用应用程序。我在做这样的蠢事:

app.usefabMiddlewareapp

这实际上是一个高阶函数:

const fabMiddleware = (app) => {
  return function(req, res, next) {
    // ... now i can use app
  }
}
modue.exports = fabMiddleware;
可能这、req或res引用了应用程序吗?

是的,您可以访问应用程序实例,而无需显式传递它。只需调用req.app或res.app即可访问它


您显示第一块代码的方式,应用程序在您说要使用它的范围内,所以您可以直接引用它。所以,这显然没有反映出你的实际问题是什么,或者你忽略了最简单的解决方案。不要忽略它。我来澄清这个问题。
const fabMiddleware = (app) => {
  return function(req, res, next) {
    // ... now i can use app
  }
}
modue.exports = fabMiddleware;