全局变量未附加到MeteorJS包上的`global`对象

时间:2015-07-20 21:13:19

标签: javascript node.js meteor

我正在写一个Meteor软件包,我发现全局变量没有附加到global对象上,在Meteor软件包上(在正常的Meteor项目中,这并不是'发生)。要重现,请在Meteor包上写下以下内容:

x = 1
global.x = 2

console.log(x)        // 1
console.log(global.x) // 2

我期望的行为xglobal.x具有相同的值(2)。

预计Meteor套餐会出现这种情况吗? Node的gloabal对象周围是否有一个特殊的包装器?

谢谢!

David Weldon回复后的编辑:

上下文:我正在尝试关注https://github.com/feross/standard,因此我将删除my_variable样式上的所有全局变量声明,而是使用global.my_variable。我无法使用global导出存储在api.export上的变量,因为api.export('global.my_variable', ...)不起作用。

1 个答案:

答案 0 :(得分:1)

包被封装在一个闭包中以防止全局泄漏。要在包裹外公开符号,请在api.export

中使用package.js