Collections Meteor部署时集合变得未定义

Collections Meteor部署时集合变得未定义,collections,meteor,iron-router,deploying,Collections,Meteor,Iron Router,Deploying,我在部署到.meteor.com时遇到了一个关于meteor的奇怪问题 一切都在本地运行但是当我在meteor.com上部署我的应用时对于我拥有的每个路由,我的每个集合都会出现以下错误:collectionName“未定义”。 我试图用waitOn配置iron router,但没用 我的集合定义如下(3个服务器端和一个本地): 我的路线如下所示: Router.configure({ layoutTemplate: 'layout', waitOn: function() { [Mete

我在部署到.meteor.com时遇到了一个关于meteor的奇怪问题

一切都在本地运行但是当我在meteor.com上部署我的应用时对于我拥有的每个路由,我的每个集合都会出现以下错误:collectionName“未定义”。 我试图用
waitOn
配置iron router,但没用

我的集合定义如下(3个服务器端和一个本地):

我的路线如下所示:

Router.configure({
  layoutTemplate: 'layout',
  waitOn: function() { [Meteor.subscribe('betaUsers'), Meteor.subscribe('Posts'), Meteor.subscribe('Previews')] }
});

Router.map(function() {
  this.route('jobList', {path: '/', layoutTemplate: 'layout', data: function() { return Posts.find(); }});
  this.route('login', {path: '/login', layoutTemplate: 'layout2'});
  this.route('submitJob', {path: '/submit', layoutTemplate: 'layout2'});
  this.route('previewPost', {path: '/preview', layoutTemplate: 'layout2'});
  this.route('landingPage', {path: '/landing/:_id?', data: function() { return betaUsers.findOne(this.params._id);},  layoutTemplate: 'layoutLp'});
  this.route('thankYouPage', {path: '/thanks/:_id', data: function() { return betaUsers.findOne(this.params._id);}, layoutTemplate: 'layoutLp'});
});

//server/router.js
我同时使用自动发布和不安全。

有人有同样的问题吗?在以前的应用程序中,我对集合定义和订阅使用了类似的结构,但从未遇到过这个问题


我仍然在熟悉流星,所以这可能是我一个愚蠢的错误!非常感谢。我可以提供更多信息。

我只是通过将
/collections
目录移动到
/lib
目录中来解决问题。我提供数据的路由(位于
/lib
目录中)是在定义集合之前执行的

如果有人能解释为什么我的旧体系结构(分离的
/lib
/collections
)在本地而不是远程工作,我认为它仍然是有用的。谢谢

Router.configure({
  layoutTemplate: 'layout',
  waitOn: function() { [Meteor.subscribe('betaUsers'), Meteor.subscribe('Posts'), Meteor.subscribe('Previews')] }
});

Router.map(function() {
  this.route('jobList', {path: '/', layoutTemplate: 'layout', data: function() { return Posts.find(); }});
  this.route('login', {path: '/login', layoutTemplate: 'layout2'});
  this.route('submitJob', {path: '/submit', layoutTemplate: 'layout2'});
  this.route('previewPost', {path: '/preview', layoutTemplate: 'layout2'});
  this.route('landingPage', {path: '/landing/:_id?', data: function() { return betaUsers.findOne(this.params._id);},  layoutTemplate: 'layoutLp'});
  this.route('thankYouPage', {path: '/thanks/:_id', data: function() { return betaUsers.findOne(this.params._id);}, layoutTemplate: 'layoutLp'});
});

//server/router.js