当第一个不匹配路线时,又回到另一个快速应用程序

TL / DR:有没有办法将两个应用程序结合使用,如果第一个应用程序没有实现路线,可以使用第二个应用程序?

我们目前有两个快速应用程序,一个新的考虑良好的应用程序和一个旧的,弃用的应用程序。 outlook未来,我们的团队将逐渐将旧应用程序中的所有内容迁移到新应用程序中。

我正在寻找一种方法来结合这两个应用程序,以便他们都可以被调用。 我意识到我可以使用app.use来做这样的事情,但是这需要应用程序位于不同的子域中,或使用单独的基本path。 我的目标是保持路由不变,所以调用API的人不知道引擎盖下发生的变化。

例如,如果我能做到这样的话,那将是一件好事:

 const express = require('express'); let oldApp = express(); let newApp = express(); oldApp.get('/old', function (req, res) { res.send("OLD"); }); newApp.get('/new', function (req, res) { res.send("NEW"); }); express().use(oldApp, newAPp).listen(3000); 

然后,我可以调用localhost:3000/oldlocalhost:3000/new ,两个端点都可以工作。

.use的path是可选的。 您可以应用中间件,并首先使用由该中间件处理的任何路由。

 express.use(oldApp).use(newApp) 

如果你.use(oldApp, newApp)它会尝试将oldApp解释为path。