如果要在两个项目之间使用包,那么处理它的最佳方法是什么。考虑两种情况: -
Git Repository包含两个项目,如
root folder
-- Mobile App Folder
-- Web Folder
因此两个项目都在同一个存储库中
每个项目都在单独的Git存储库中,我们希望在这些项目之间共享包。
处理每种情况的好方法是什么? (对每种方案使用相同的方法或不同的方法)
答案 0 :(得分:11)
在面对meteor add package
时,您需要了解Meteor如何处理包扫描:
packages/
文件夹中搜索。PACKAGE_DIRS
环境变量中指定的每个文件夹中搜索它。不确定具体的顺序,但我假设一个最有意义的顺序。
因此,您的问题基本上是存储包以获得最佳工作流程的位置。
使用第一种情况,您可以将私有软件包存储在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