我的应用程序在本地完全正常运行。但是,当我部署它时,我在应该访问集合 Posts 的页面上的 javascript 控制台中收到以下错误。
Exception from Deps recompute: ReferenceError: Posts is not defined
at Object.route.data.posts
这是我正在使用的路由器 javascript 文件,它将 Posts 传递给模板 postsLists,该模板在部署时不会加载。
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
waitOn: function() { console.log('waiting'); return [Meteor.subscribe('posts'), Meteor.subscribe('files')]; }
});
Router.map(function(){
this.route('postPage', {
path:'/posts/:_id',
data: function() {return Posts.findOne(this.params._id); }
});
this.route('welcome', {path: '/'});
this.route('postsList', {path: '/List',
data: {
posts: function () {
return Posts.find({}, {sort: {submitted: -1}});
}
}});
this.route('postSubmit',{
path:'/submit'
});
this.route('yourPosts',{
path:'/yourposts'
});
this.route('officialPosts',{
path:'/featured'
});
this.route('postEdit', {
path: '/posts/:_id/edit',
data: function() { return Posts.findOne(this.params._id); }
});
});
var requireLogin = function(){
if(! Meteor.user()){
this.render('accessDenied');
this.stop();
}
};
Router.before(requireLogin, {only: ['postSubmit','postsList','yourPosts','officialPosts','postEdit']});
该网站也可通过fed.meteor.com访问。
提前致谢。