Meteor包加载顺序

5

我在Meteor中添加软件包的顺序是否会影响结果?假设我使用bootstrap 3和带有bootstrap 3的帐户ui,如果我先添加后者还是先添加前者,结果会相同吗?

3个回答

7
在Meteor中,您添加的软件包顺序并不重要。
Meteor中有一个称为linker的模块,它分析每个软件包的依赖项以确保依赖项先加载。
例如:如果 bootstrap-3 是 accounts-ui-bootstrap-3 的依赖项,则即使在之后添加了 bootstrap-3 ,它也会首先加载。

4
那些没有明确依赖关系的东西怎么办?例如,一个名为 admin 的包覆盖了 bootstrap 样式(其中 bootstrap 是可选的并且不是依赖项),而我自己的包也覆盖了 bootstrap 样式(同样是可选的 - 没必要强制用户)。这两个包也不互相依赖 - 那么加载顺序应该是什么? - Gopalakrishna Palem
如果你在安装 https://github.com/matb33/meteor-collection-hooks 之前安装了 https://github.com/vsivsi/meteor-job-collection,你将自动遇到错误。这可能是个例外情况,但我不确定。 - Le Qs

0

目前没有一种方法可以从包内部测试或访问可选依赖项。您可以通过测试Package ['author:package']是否定义来测试其存在。问题在于加载顺序。我通过编辑.meteor中的packages文件并将可选依赖项包移动到列表中更靠前的位置来暂时解决了这个问题。但我认为这不是一个好的长期解决方案。如果还没有的话,这应该是Meteor功能建议。


-1
每个包都有一个名为 package.json 的文件,其中列出了它所需的其他包。这种做法确保包按适当的顺序加载。请阅读这些文件以解决加载顺序问题。

2
应该是package.js,不是json。请参阅:http://docs.meteor.com/#/full/packagejs - remcoder

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