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

Kei*_*las 8 meteor

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

第一种情景

Git Repository有两个项目,比如

root folder
    -- Mobile App Folder
    -- Web Folder
Run Code Online (Sandbox Code Playgroud)

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

第二种情景

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

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

sai*_*unt 11

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

  • packages/您应用的本地文件夹中搜索它.
  • PACKAGE_DIRS环境变量中指定的每个文件夹中搜索它.
  • 在大气中寻找它.

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

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

使用第一种方案,您将私有包存储在app根文件夹下packages/,您只需git pull从repo获取最新版本的包.然后你必须确保正确定义PACKAGE_DIRS env变量,如下所示:

export PACKAGE_DIRS=$PACKAGE_DIRS:$HOME/meteor/my-repo/packages
Run Code Online (Sandbox Code Playgroud)

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

export PACKAGE_DIRS=$PACKAGE_DIRS:$HOME/meteor/packages
Run Code Online (Sandbox Code Playgroud)

如果有可能将这些私有软件包重用于其他项目,如果您确定它们只在特定项目中有意义,那么我会倾向于使用第二种方案,然后将它们存储在回购中就可以了.