我应该在哪里放置Meteor.startup中使用的函数的代码?

时间:2014-07-19 11:02:24

标签: meteor

项目代码:

// main.js
temp = new Meteor.Collection('temp');

if (Meteor.isClient) {
    // client-side stuff
}

if (Meteor.isServer) {
  Meteor.startup(function () {
    initialize(temp);
  });
}

我将函数initialize放在外部脚本文件中:

// startup.js
function initialize(collection){
    collection.insert({'id': 42});
}

但是我应该把这个startup.js放在哪里?我尝试了[root]lib[root]/server[root]/server/lib子目录,但没有一个有用。它始终报告ReferenceError: initialize is not defined。谢谢。

1 个答案:

答案 0 :(得分:1)

文件范围

var initialize = function(){};
function initialize(){};

文件范围功能只能从文件中调用。

使用以下方法解决您的问题:

包范围

initialize = function(){}

可以从此应用或包中的任何文件调用包范围函数。

Meteor docs

中了解详情