- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我知道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/
我是一名优秀的程序员,十分优秀!