strongloop/loopback - 维护 API 的多个版本

strongloop/loopback - Maintain multiple versions of API

我是第一次使用 strongloop/loopback。有一些基本说明 online 用于版本控制 API:

var p = require('../package.json');
var version = p.version.split('.').shift();
module.exports = {
  restApiRoot: '/api' + (version > 0 ? '/v' + version : ''),
  host: process.env.HOST || 'localhost',
  port: process.env.PORT || 3000
};

我没有看到的是维护 API 的多个版本的推荐方法。因此,例如,我可以同时拥有旧版 1.4 和新版 2.0 运行。有这样做的最佳实践吗?

编辑: 我接受了@Overdrivr 的回答,因为它在撰写本文时是准确的。但是,有一个关于此功能的 open issue on Github 用户计划提交 PR。希望此功能将在未来的迭代中添加。

您将需要 运行 两台环回服务器,一台 运行ning 1.4,另一台 2.0。例如,让一个监听端口 3000,另一个监听 3001。

然后你可以使用nginx作为反向代理。

nginx 将侦听端口 80 或 443(http 或 https),您的客户端将到达的端口。 最后,告诉 nginx 将匹配 /api/v1.4/ 的请求重新路由到服务器 1.4,将 /api/v2/ 匹配到另一个。