防止Meteor在立即调用的函数表达式

时间:2015-08-23 11:15:16

标签: javascript meteor closures

Meteor将围绕任何JS文件的内容包装一个立即调用的函数表达式(IFFE),以确保文件之间没有命名空间冲突。

我正处于使用beta npm模块的项目的早期阶段。我希望能够直接从具有全局范围的浏览器控制台运行代码。

有没有办法让Meteor很好地不将我的所有脚本包装在IFFE中,这样我就可以创建全局函数并访问全局变量,从而更容易理解beta npm模块正在做什么(以及它是什么做错了?)

提前致谢。

1 个答案:

答案 0 :(得分:3)

如果您的代码在客户端运行,您只需将其放入client/compatibility文件夹即可。来自流星文档(http://docs.meteor.com/#/full/structuringyourapp):

  

<强>的客户机/兼容性

     

此文件夹用于依赖的兼容性JavaScript库   在顶层使用var声明的变量被导出为   全局。此目录中的文件无需包装即可执行   一个新的变量范围。这些文件在其他文件之前执行   客户端JavaScript文件。