【发布时间】:2020-06-03 21:41:01
【问题描述】:
我正在使用 Express,我想在运行时替换中间件(停止运行中间件 X 并开始运行中间件 Y)。 我找到了一种简单的方法,但这里没有人将其作为一种选择:
不使用第一个中间件,xMiddleware:
app.use(xMiddleware);
我用另一个中间件 MyMiddlewareWrap 包装它:
MyMiddleware = xMiddleware;
MyMiddlewareWrap = function (req, res, next)
{
MyMiddleware(req, res, next)
}
app.use(MyMiddlewareWrap);
然后,当我想停止运行 xMiddleware 并开始运行 yMiddleware 时,我将 yMiddleware 分配给 MyMiddleware:
MyMiddleware = yMiddleware;
因此,xMiddleware 不再运行,而 yMiddleware 正在运行。 有人看到它有问题吗?这是一个好的解决方案吗?
【问题讨论】:
-
有趣。赞成。谢谢你的想法。
标签: node.js express runtime middleware