meteor / javascript 函数在另一个文件中时不起作用

meteor / javascript function not working when in another file

这很有趣。 我有这样的文件结构:

/
/client/
/server/

我正在使用的应用程序运行良好,我在 /client/ 文件夹中有很多 .js 文件,所有文件都分为逻辑(对我来说)部分。它们在编译时工作正常。

不过我已经添加了一个名为 miscFunctions.js 的新文件,并添加了一个简单的函数并保存:

function sessionDataReset(){
  //Set the New Organisation Session data to be false, meaning we're not adding a new organisation
  return Session.set('addingOrganisation', false);
};

这个函数,调用时returns出现如下错误:

Uncaught ReferenceError: sessionDataReset is not defined

当我将确切的代码移动到 .js 文件时,我从中调用它工作正常。

为什么会发生错误,因为我知道我正在尝试做的事情可以用 Meteor 完成?

非常感谢任何建议。

罗布

首先尝试以这种方式声明您的文件:

sessionDataReset = function() {
  //Set the New Organisation Session data to be false, 
  //meaning we're not adding a new organisation
  return Session.set('addingOrganisation', false);
};

这确保该函数在全球范围内可见。
(@user1623481 Meteor 在编译文件时将文件包装为 IIFE,创建一个限制此函数可见性的函数作用域。)

这很可能会解决它,但在此之后检查 file load order in the Meteor Docs