【问题标题】:Meteor package load order流星包装载顺序
【发布时间】:2015-07-12 22:00:31
【问题描述】:

我在 Meteor 上添加包的顺序对结果有什么影响吗?假设我使用 bootstrap 3 和使用 bootstrap 3 的帐户 ui,如果我先添加后者,反之亦然会以相同的方式工作吗?

【问题讨论】:

    标签: javascript meteor


    【解决方案1】:

    在 Meteor 中,添加它们的包顺序无关紧要。

    meteor中有一个叫做linker的模块,它分析每个包的依赖关系,确保依赖关系首先加载。

    例如:如果 bootstrap-3accounts-ui-bootstrap-3 的依赖项,那么即使添加了 bootstrap-3之后,它将首先加载。

    【讨论】:

    • 那些没有显式依赖的东西呢?例如,一个admin 包覆盖了引导程序样式(其中引导程序不是依赖项和可选的),并且在我的包中,我还覆盖了引导程序样式(引导程序再次是可选的 - 没有必要强迫用户) .这两个包也不相互依赖 - 现在加载顺序是什么?
    • 我在github.com/matb33/meteor-collection-hooks 之前安装github.com/vsivsi/meteor-job-collection 你会自动遇到错误。可能是一个孤立的案例,但不确定。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      每个包都有一个package.json 文件,其中列出了它需要的其他包。这种做法可确保以正确的顺序加载包。阅读这些文件以解决加载顺序问题。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多