使用来自其他脚本文件Meteor的脚本文件的正确方法是什么?

时间:2013-06-18 16:09:37

标签: javascript include meteor

根据an answer to this question和Meteor文档,Meteor将自动包含一个包文件夹结构中的所有脚本,并以最深的第一个递归。但是,当我在MyProject / sever文件夹中的脚本中定义js类时,如果从顶级.js文件引用,则该类是未定义的。如果我将类定义移动到if (Meteor.isServer)之上的顶级.js文件,则正确定义了类。在构造或包含外部文件的javascript时我缺少什么?

修改 这个问题比仅仅看到我的js课更重要。我无法调用函数或在meteor 0.6创建的私有命名空间中看到任何。显然必须有一些方法来引用另一个文件中定义的东西,否则在流星中就不可能有大型项目。

1 个答案:

答案 0 :(得分:2)

我怀疑,这与我对javascript(愚蠢的黑客)类声明和全局变量的误解有关。改变:

function ClassFoo(){
   this.bar = function(){}
}

ClassFoo = function ClassFoo(){
   this.bar = function(){}
}

通过使ClassFoo全局化来修复它。 FWIW,请注意var ClassFoo = ...将不起作用,因为它随后变为自动生成的闭包的命名空间的本地。一定要喜欢javascript的怪癖。