我在Meteor中读过,
如果您的应用使用电子邮件包(并且仅在其使用电子邮件时) 包!)然后你的应用程序可以看到电子邮件,你可以调用Email.send。 大多数软件包只有一个导出,但有些软件包可能有两个 或者三个(例如,提供几个类的包 共同努力)。
那么如果您的应用使用两个导出名为Email的变量的包,会发生什么?您的应用会收到哪个电子邮件? Package.a.Email
/ Package.b.Email
是唯一的解决方法吗?
答案 0 :(得分:1)
这就是meteor的命名空间系统的用武之地。只有两个包中的一个,通常是最后添加的一个包,将获得全局Email
变量。
唯一的解决方法是使用Package.a
,如您所述。
如果某个软件包依赖于另一个软件包,如果api.use("xxx")
package.js
正确引用了相关软件包,则不应该出现问题
如果您使用两个包含导出作为包的依赖关系,则必须使用Package.xx
命名约定(注意Meteor实际上使用了它,如果您不这样做,它实际上会转换您的代码。使用Package.xx
。
使用全局变量Email
,您必须小心,因为只有一个包将获得全局变量。