2

部署到 .meteor.com 时,我遇到了一个奇怪的流星问题

一切都在本地工作,但是当我在meteor.com上部署我的应用程序时,对于我拥有的每条路线的每个集合,我都会收到以下错误:collectionName“未定义”。我尝试使用 Iron-router 配置,waitOn但没有帮助。

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

Posts = new Meteor.Collection('posts');
Previews = new Meteor.Collection(null);
betaUsers = new Meteor.Collection('betaUsers');
ipList = new Meteor.Collection('ipList');

//collections/collections.js

我的路线如下所示:

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

我同时使用自动发布和不安全。

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

我还在熟悉 Meteor,所以这可能是我的一个愚蠢的错误!谢谢 !我可以提供更多信息。

4

1 回答 1

1

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

如果有人可以解释为什么我的旧架构(单独的/lib/collections)在本地而不是远程工作,我认为它仍然很有用。谢谢

于 2014-10-08T14:20:34.697 回答