在部署到.meteor.com
时,我遇到了流星的奇怪问题 一切都在本地工作,但当我在meteor.com上部署我的应用时,我的每个路径都会收到以下错误:collectionName&# 34;未定义"。
我尝试使用waitOn
配置铁路由器,但它没有帮助。
我的集合定义如下所示(3个服务器端和1个本地):
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
我同时使用autopublish和insecure。
有没有人有同样的问题?我在以前的应用程序中使用类似的结构进行集合定义和订阅,从未遇到过这个问题
我仍然熟悉Meteor,所以这可能是我身边的一个愚蠢的错误!谢谢 !我可以提供更多信息。
答案 0 :(得分:1)
我只是通过移动/collections
目录中的/lib
目录来解决问题。在定义集合之前,我正在执行提供数据的路径(位于/lib
目录中)。
如果有人可以解释为什么我的旧架构(单独的/lib
和/collections
)在本地而不是远程工作,我认为它仍然有用。感谢