在同一个 Meteor web 的多个版本之间共享相同的代码

Sharing the same code between several versions of the same Meteor web

我有一个 Meteor web,部署了与 Apache 集成的 Phusion Passenger。用户使用 http://mycompany.org:3001.

访问它

Meteor 网络通过 REST API 与另一个外部服务器通信。 该外部服务器有 3 个版本的相同 REST API:

上述 REST API 的每个版本都管理不同的用户数据库,即 user_DB_1 -> v1,user_DB_2 -> v2,user_DB_3 -> v3。

目前,我部署的 Meteor web 正在调用该 REST API (http://external_server/v1/restapi) 的 v1。

现在,我必须使用相同的 Meteor web 调用其他版本的 REST API(v2 和 v3),如下所示:

是否可以捕获那个 URL 的版本并将其作为参数传递给 Meteor 网络,以便它调用相应的 API? 例如,如果用户向 http://mycompany.org/meteor_web_v1/login 发出 HTTP 请求,则 Web 调用 http://external_server/v1/restapi,依此类推...

这里的方法是什么?可能使用 Apache mod_rewrite、Iron Router 或哪个解决方案?

你可以使用 flow router 或 iron router 给你 url 部分作为参数,你在你的路由声明中这样命名它: '/:我的路线'

然后您将获得一个路由参数作为变量,您可以在代码中使用它传递给服务器方法以执行 http 请求。

你是在做来自服务器的 http 请求,对吧?这样做可以防止任何 CORS 问题,并将等待卸载到服务器。然后服务器应使用接收到的数据更新数据库,客户端将自动刷新以使结果可用。