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