Meteor - 如何从其他 JS 文件调用外部 class 方法?

Meteor - How to call an external class methods from other JS files?

我是流星的新手。我一直在尝试将我的流星代码编写为 "object-oriented way",因此我为我的解析器创建了一个名为 Message 的对象,并从我的 app.js 中调用了它的方法。

我想实例化对象并从我的 app.js 调用我的 Message.JS 中定义的方法?

应用结构

应用
|--app.html
|--app.js
|--app.css
|--message.js
|--.流星

message.js

  var Message = {


    init: function( message ){

   /* Initialization function with some properties */

   }

  getHash: function() {
    return this.hash_table;
   }

  parseMessage: function(input) {

 /* Some Parsing logic */

  return(hash_table);
 }
 }

app.js

if (Meteor.isServer) {

 var msg = new Message.init(response);
 var hash =  msg.getHash();
 console.log(hash);

}

用 var 声明的变量在 Meteor 中有一个文件范围,不能从其他文件中访问。 如果您声明变量时不使用 var,它将具有更大的范围并且可以在您的应用程序中看到,

Message = {
    ...
}

如果这不起作用,则加载顺序可能有问题。 message.js 中的代码应该在调用 app.js 中的代码之前加载。为确保它是,请将 message.js 放入 /lib 文件夹中。此文件夹中的文件总是在其他所有内容之前加载。

将 message.js 添加到名为 lib 的文件夹中,以便在 meteor 启动时首先加载它,请参阅 http://docs.meteor.com/#/full/examplefilestructure。然后从 Message 中删除 var 使其成为全局的。