gpt4 book ai didi

node.js - 一个 NodeJS 服务器中有两个 Express "app"?

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:09 25 4
gpt4 key购买 nike

我希望能够通过不同的 Express 中间件堆栈传递不同的请求。

我想我需要两个 express app,以及一些分支方式。例如:

var app = express();
var alt_app = express();

app.use(logger('dev'));
app.use(bodyParser.json());

app.use(function(req, res, next) {
if (some_condition(req)) {
divert_request_to_alt_app();
} else {
next();
}
}

app.use(middleware_that_must_not_affect_alt_app());
alt_app.use(middleware_that_only_affects_alt_app());

这样的策略可行吗?

如果是这样,divert_request_to_alt_app() 应该是什么?

如果没有,还有哪些其他方法?

最佳答案

我发现 express 应用程序是函数。使用 (req, res, next) 调用它们是将请求从一个应用程序传递到另一个应用程序所需要做的一切。

在下面的示例中,我有一个根应用程序 app 和两个分支 app0app1

var app0 = require('./app0');
var app1 = require('./app1');

var app = express();
...
app.use(function(req, res, next) {
if (some_condition_on(req)) {
app0(req, res, next);
} else {
app1(req, res, next);
}
});

关于node.js - 一个 NodeJS 服务器中有两个 Express "app"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29797452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com