如何在多个项目之间共享私有Meteor包?

8

如果您想在两个项目之间使用一个包,处理它的最佳方式是什么?考虑以下两种情况:

第一种情况

Git仓库有两个项目,如下所示:

root folder
    -- Mobile App Folder
    -- Web Folder

因此,这两个项目都在同一个代码库中。

第二种情况

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

如何处理每种情况?(可以使用相同的方法处理两种情况,也可以为每种情况使用不同的方法)

2个回答

11

当你使用meteor add package命令时,你需要了解Meteor如何处理包扫描:

  • 在应用程序本地的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

如果这些私有包可能会被用于其他项目,我倾向于选择第二种情况;如果您确信它们只在特定项目中有意义,则将它们与存储库一起存储是可以的。


这份文档是从哪里来的,顺便问一下? - Keith Nicholas
1
据我所知,这还没有被记录下来,我只是偶然发现了这个。 - saimeunt

1
另一个选项是将共享的私有包符号链接到每个应用程序的“packages”文件夹中。因此,假设您在文件夹“/dev/mysharedpackage”中有共享包。您可以通过“ln -s /dev/mysharedpackage packages/mysharedpackage”创建符号链接,然后通过“meteor add”添加包。这里有一个关于这个主题的Meteor Cast: https://www.meteorcasts.net/ep/3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接