【问题标题】:How to share private meteor packages between multiple projects?如何在多个项目之间共享私有流星包?
【发布时间】:2015-08-13 21:36:16
【问题描述】:

如果你想在两个项目之间使用一个包,最好的处理方法是什么。考虑两种情况:-

第一个场景

带有两个项目的 Git 存储库

root folder
    -- Mobile App Folder
    -- Web Folder

所以两个项目都在同一个存储库中

第二种情况

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

处理每种情况的好方法是什么? (要么对两者使用相同的方法,要么对每个场景使用不同的方法)

【问题讨论】:

    标签: meteor


    【解决方案1】:

    您需要了解 Meteor 在遇到 meteor add package 时如何处理包扫描:

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

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

    所以你的问题基本上是在哪里存储包以获得最佳工作流程。

    使用第一种方案,您可以将私有包存储在packages/ 下的应用程序根文件夹中,您只需从存储库中访问git pull 即可获取最新版本的包。然后您必须确保正确定义 PACKAGE_DIRS 环境变量,如下所示:

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

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

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

    如果这些私有包有可能被其他项目重用,如果您确定它们仅在特定项目中有意义,那么我倾向于使用第二种情况,那么将它们存储在 repo 中就可以了。

    【讨论】:

    • 顺便说一句,这份文件是从哪里来的?
    • 它还没有记录 AFAIK,只是碰巧遇到了这个。
    【解决方案2】:

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

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

    这是关于这个主题的流星演员:https://www.meteorcasts.net/ep/3

    【讨论】:

      猜你喜欢
      • 2018-03-18
      • 1970-01-01
      • 2016-01-13
      • 2017-05-15
      • 2012-07-22
      • 1970-01-01
      • 2011-02-02
      • 2012-06-14
      • 2011-04-08
      相关资源
      最近更新 更多