Meteor命名空间:其他文件中的util方法

Meteor命名空间:其他文件中的util方法,meteor,namespaces,meteor-helper,Meteor,Namespaces,Meteor Helper,我是新来的流星。我在其他文件中使用util方法时遇到问题。我阅读了meteor手册中关于名称空间的部分,我相信它说如果我通过省略“var”使变量成为全局变量,我应该在我所有的应用程序文件中都包含它 从meteor文档中: // Package Scope. This variable is visible to every file inside // of this package or app. The difference is that 'var' is // omitted. bobP

我是新来的流星。我在其他文件中使用util方法时遇到问题。我阅读了meteor手册中关于名称空间的部分,我相信它说如果我通过省略“var”使变量成为全局变量,我应该在我所有的应用程序文件中都包含它

从meteor文档中:

// Package Scope. This variable is visible to every file inside
// of this package or app. The difference is that 'var' is
// omitted.
bobPerson = {name: "bob"};
作为记录,我不是在创建包。以下两个示例文件位于我的应用程序本身中。这些文件类似于:

my_app/lib/util.js

util = {
  printHelloWorld: function(){
    console.log('hello world');
  }
};
my_app/test/fixtures.js

util.printHelloWorld();
我得到一个堆栈跟踪,上面写着:

.../fibers/future.js:173) throw(ex);
ReferenceError: util is not defined
at app/test/fixtures.js:14:1
但是,

util.printHelloWorld(); 

在Chrome控制台中工作正常。提前感谢您的帮助

util的定义类似于
if(Meteor.isClient)
?如果是这样的话,它将只在客户端运行,而不是在服务器上。不,它不在if(Meteor.isClient)块内。哦,好的。如果放置
util.printHelloWorld(),会发生什么在Meteor.startup(函数(){util.printHelloWorld();})中?在
lib
中加载的东西应该首先加载,因此如果它最终工作,那么它将是文件排序。不太清楚为什么会是文件排序。当我试图评估问题时,我将两个文件都移动到我的应用程序根目录。将util.js移回我的lib dir解决了这个问题。谢谢你的帮助!如果lib文件夹中存在文件相互依赖关系,该怎么办?