gpt4 book ai didi

javascript - 如何从 Meteor 包导出到我的应用程序的命名空间?

转载 作者:可可西里 更新时间:2023-11-01 02:19:53 24 4
gpt4 key购买 nike

我知道how to write Meteor packages但我似乎无法弄清楚如何让所有导出都进入我的应用程序的命名空间,如所述in this presentation .

这个特定的包特定于我正在构建的应用程序,它只导出一个可以被视为应用程序单例上的装饰器的方法。我试过 api.export('MyApp.myMethod') 但出现错误 native: Bad exported symbol: MyApp.myMethod

如果我只是 api.export('myMethod'),那么在应用程序代码中我必须调用 myMethod(),这不是命名空间。

Meteor有没有类似于Node的var http = require('http');的机制?或者包如何将符号导出到给定的命名空间?

最佳答案

api.export 方法仅支持 top-level variables right now .它不适用于嵌套变量,因为“事实证明,使用深度导出是非常令人困惑”,如果您还导出了 MyApp.myOtherMethod,您希望 MyApp.myMethod 在全局命名空间中出现什么?

您应该只导出 MyPackage,然后调用 MyPackage.myMethod()。一种常见的方法是做类似的事情

MyPackage = { 
myMethod: someSecretMethodName,
myOtherMethod: otherMethodName
}

然后调用api.export("MyPackage")。这意味着变量的导出名称不一定是您所称的名称。这在核心 meteor 包中被大量使用;您还可以在 MongoInternals in mongo_driver.js 查看示例.

关于javascript - 如何从 Meteor 包导出到我的应用程序的命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22405802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com