【问题标题】:Make 2 Sails Applications Communicate让 2 个 Sails 应用程序进行通信
【发布时间】:2017-11-24 11:09:14
【问题描述】:

我有一个有会员门户的sailsjs 项目。它包括所有可能的路线/行动。但是,我也在考虑使用帆制作 cms。最初,我打算将它包含在同一个项目中,但我觉得,我不应该这样做。因此,我决定为 CMS 制作另一个 Sails 项目。现在,我希望能够使用我在第一个风帆项目中所做的路线/动作。 2个风帆项目是否可以互相交谈并做我想做的事?如果是,我该怎么做?谢谢。

【问题讨论】:

  • 如果你想在 CMS 中编辑路由,它们应该首先来自 DB。除此之外,CMS 甚至知道消费者路由/控制器/操作的原因是什么?
  • 如果你想在同一个 VPS 上运行两个 Sails 应用程序,然后在不同的端口上运行它们并通过 localhost:portnumber 内部访问它们,使它们内部通信。

标签: javascript node.js npm sails.js web-development-server


【解决方案1】:

好吧,我不确定这是否真的可能,但是,如果我们使用 routes.js 配置是一个键/值对象这一事实,我认为您可以简单地将这个对象放入一个共享文件中另一个地方,然后在每个项目的 routes.js 中,您只需引用共享文件,如下所示:

//SharedRoutes.js
module.exports = {
    'get /path': 'Controller.action'
     ...
     ...
     ...
}

项目 1

Project1/config/routes.js

//LOAD THE SHARED ROUTES FROM THE SharedRoutes.js
var sharedObject = ...

// EXPORT IT NORMALLY AS BEING THE PROJECT 1 ROUTES...
module.exports.routes = sharedObject;

项目 2

Project2/config/routes.js

//LOAD THE SHARED ROUTES FROM THE SharedRoutes.js
var sharedObject = ...

// EXPORT IT NORMALLY AS BEING THE PROJECT 2 ROUTES...
module.exports.routes = sharedObject;

如果你想在你的一个项目中也有一些本地路由,你应该简单地将本地路由对象与共享对象合并,可能使用lodash library(我认为)或类似的。

我没有测试它,但它应该可以工作。

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多