【问题标题】:What happens when export names conflict in Meteor?当 Meteor 中的导出名称冲突时会发生什么?
【发布时间】:2015-08-20 18:32:56
【问题描述】:

我在 Meteor 中读到过,

如果您的应用使用电子邮件包(并且仅当它使用电子邮件 包!)然后您的应用程序可以看到电子邮件,您可以调用 Email.send。 大多数包只有一个导出,但有些包可能有两个 或三个(例如,一个提供多个类的包 一起工作)。

如果您的应用程序使用两个导出名为 Email 的变量的包,会发生什么情况?您的应用会收到哪个电子邮件? Package.a.Email / Package.b.Email 是唯一的解决方法吗?

【问题讨论】:

    标签: javascript node.js meteor package


    【解决方案1】:

    这就是meteor的命名空间系统的用武之地。只有两个包中的一个,通常是最后添加的那个,将获得全局Email变量。

    唯一的解决方法是使用您提到的Package.a

    如果一个包依赖于另一个包,那么如果在package.js 中使用api.use("xxx") 正确引用了相关包,则应该没有问题

    如果您使用两个带有导出的包作为一个包的依赖项,您将不得不使用Package.xx 命名约定(注意 Meteor 实际上在后台使用它,如果您不使用 @987654326,它实际上会转换您的代码@。

    对于全局变量Email,您必须小心,因为只有一个包会获取全局变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 2012-02-25
      • 1970-01-01
      • 2021-06-03
      • 2021-01-17
      • 1970-01-01
      • 2016-05-15
      相关资源
      最近更新 更多