javascript - 使用其他脚本文件 Meteor 中的脚本文件的正确方法是什么?

标签 javascript include meteor

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

编辑: 这个问题比只看我的 js 类更基本。我无法在 meteor 0.6 创建的私有(private)命名空间中调用函数或查看任何内容。显然必须有一些方法来引用另一个文件中定义的东西,否则大型项目在 meteor 中是不可能的。

最佳答案

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

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

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

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

关于javascript - 使用其他脚本文件 Meteor 中的脚本文件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17173837/

相关文章:

javascript - 通过单击区域隐藏菜单

javascript - Jqgrid 自定义格式化程序按钮单击不起作用

javascript - 将类添加到具有多个数据属性的多个元素

xcode - 如何将编译源中的文件从一个目标复制并粘贴到另一个目标?

php - 使用 PHP 作为 CSS 文件?

javascript - 在 Meteor Web 应用程序中显示多维数据库文档

mongodb - 上传数据到 Meteor/Mongo DB

javascript - JS 正则表达式 : replace all digits in string

java - 如何在不复制代码的情况下在 Java Web 应用程序中包含 jsp 页面?

javascript - 在 Meteor 中解析错误的服务器响应