如何在2个或更多帆项目之间共享模型

时间:2015-02-12 18:35:56

标签: sails.js

我有两个风帆项目,一个网站 - 前端和管理后端。项目应该是分开的,但它们共享api / models文件夹。分享它们的首选方式是什么? 目前我们使用了一个单独的git存储库,我们将其克隆到api / models中(一个git子模块也可以工作)。我问自己这是最好的方式还是推荐的方式?

带有风帆钩https://github.com/node-machine/sails-hook-machines的风帆v0.11能以更好的模块化方式解决这个问题吗?

到目前为止感谢

2 个答案:

答案 0 :(得分:3)

首先:

  

如果两个应用程序都在一台服务器上运行,则可以将模型文件夹从一个应用程序符号链接到另一个应用程序。

请不要这样做。这是最糟糕的devops hackery,是让你的项目无法部署的好方法。

现在,寻求解决方案:

在我的sails-auth模块中,我使用标准sails生成器并在api/models中创建可扩展模型存根。例如,我在这里生成UserPassport个模型:https://github.com/tjwebb/sails-auth/blob/master/index.js#L5-L6

另一个例子也在这里:https://github.com/tjwebb/sails-permissions/blob/master/index.js#L5-L8

实际的存根看起来像这样:https://github.com/tjwebb/sails-permissions/blob/master/api/models/User.js#L1-L5

不幸的是,sails.js没有这样做的约定;但上述方法在我的项目实践中运作良好。

答案 1 :(得分:0)

如果两个应用程序在一台服务器上运行,您可以将模型文件夹从一个应用程序符号链接到另一个应用程序。

如果没有(或者你的模型或其他原因有差异),git子模块是明确的方法。 sails-hook-machines目前不稳定,如果您想在制作中使用它,请三思而后行。