我有一个相当简单的Meteor应用程序,具有:

lib / collections.js

var Meetings = new Meteor.Collection('meetings');

和server / publications.js:

Meteor.publish("meetings", function () {
  return Meetings.find({"participants":this.userId});
});


我认为这是行得通的,但现在有时候我得到了:

Exception from sub vvpqwiujATG49puAc ReferenceError: Meetings is not defined
at [object Object]._handler (app/server/publications.js:2:10)


我觉得这是一个操作问题,但我的理解是lib /应该始终先运行?

最佳答案

我会因在lib下定义的集合而获得部分荣誉,因此它会在发布者之前加载,但是为了使Meetings变量在文件之间可见,需要全局声明。删除var之前的Meetings,您应该已经准备就绪。

07-24 18:09