Meteor将围绕任何JS文件的内容包装一个立即调用的函数表达式(IFFE),以确保文件之间没有命名空间冲突。
我正处于使用beta npm模块的项目的早期阶段。我希望能够直接从具有全局范围的浏览器控制台运行代码。
有没有办法让Meteor很好地不将我的所有脚本包装在IFFE中,这样我就可以创建全局函数并访问全局变量,从而更容易理解beta npm模块正在做什么(以及它是什么做错了?)
提前致谢。
答案 0 :(得分:3)
如果您的代码在客户端运行,您只需将其放入client/compatibility
文件夹即可。来自流星文档(http://docs.meteor.com/#/full/structuringyourapp):
<强>的客户机/兼容性强>
此文件夹用于依赖的兼容性JavaScript库 在顶层使用var声明的变量被导出为 全局。此目录中的文件无需包装即可执行 一个新的变量范围。这些文件在其他文件之前执行 客户端JavaScript文件。