如何在多个项目之间共享私人流星包?

时间:2015-03-26 21:34:20

标签: meteor

如果要在两个项目之间使用包,那么处理它的最佳方法是什么。考虑两种情况: -

第一个场景

Git Repository包含两个项目,如

root folder
    -- Mobile App Folder
    -- Web Folder

因此两个项目都在同一个存储库中

第二个场景

每个项目都在单独的Git存储库中,我们希望在这些项目之间共享包。

处理每种情况的好方法是什么? (对每种方案使用相同的方法或不同的方法)

2 个答案:

答案 0 :(得分:11)

在面对meteor add package时,您需要了解Meteor如何处理包扫描:

  • 在您应用的本地packages/文件夹中搜索。
  • PACKAGE_DIRS环境变量中指定的每个文件夹中搜索它。
  • 在Atmosphere上搜索。

不确定具体的顺序,但我假设一个最有意义的顺序。

因此,您的问题基本上是存储包以获得最佳工作流程的位置。

使用第一种情况,您可以将私有软件包存储在packages/下的应用程序根文件夹中,您只需从代理商git pull获取最新版本的软件包。然后你必须确保正确定义PACKAGE_DIRS env变量,如下所示:

export PACKAGE_DIRS=$PACKAGE_DIRS:$HOME/meteor/my-repo/packages

使用第二种方案,您可以将每个私有包存储在自己的git仓库中,然后将它们拉入您自己的$HOME/meteor/packages本地,并且不要忘记正确设置PACKAGE_DIRS。 / p>

export PACKAGE_DIRS=$PACKAGE_DIRS:$HOME/meteor/packages

如果您确定这些私有软件包可以在其他项目中重用,如果您确定它们只在特定项目中有意义,然后将它们存储在repo中,我倾向于使用第二种方案没关系。

答案 1 :(得分:1)

另一种选择是将您的共享私有包符号链接到每个应用的“packages”文件夹中。

因此,假设您已在文件夹/dev/mysharedpackage中拥有共享包。您可以通过ln -s /dev/mysharedpackage packages/mysharedpackage创建符号链接,然后通过meteor add添加包。

以下是关于此主题的Meteor Cast:https://www.meteorcasts.net/ep/3