服务器文件夹中的Meteor出版物
我有一个名为服务器文件夹中的Meteor出版物,meteor,meteor-react,meteor-collections,Meteor,Meteor React,Meteor Collections,我有一个名为librarytems的集合,它在客户端和服务器端都可用 api/libraryitems/libraryitems.js 我希望有一个包含特定发布的服务器文件夹,而不是同一文件中的if(Meteor.isServer){..}发布: api/libraryitems/server/publications.js 但不知怎的,出乎我的意料,这本书是不可用的 更新 这是我的订阅代码(meteor+reactjs): ./imports/ui/Library.js 您将库项导出为默认导出
librarytems
的集合,它在客户端和服务器端都可用
api/libraryitems/libraryitems.js
我希望有一个包含特定发布的服务器文件夹,而不是同一文件中的if(Meteor.isServer){..}
发布:
api/libraryitems/server/publications.js
但不知怎的,出乎我的意料,这本书是不可用的
更新
这是我的订阅代码(meteor+reactjs):
./imports/ui/Library.js
您将库项导出为默认导出,这意味着您在导入库项时不需要在库项周围加上花括号 将导入更改为:
从“../LibraryItems”导入库项代码>
另外,稍微清理一下发布代码:
返回LibraryItems.find({})代码>
编辑
既然您已按要求发布了订阅代码,我看到您正在使用不同的名称订阅该出版物
改为:
Meteor.subscribe('LibraryItems.all');
希望这能有所帮助您正在将LibraryItems导出为默认导出,这意味着您在导入时不需要在其周围加上花括号
将导入更改为:
从“../LibraryItems”导入库项代码>
另外,稍微清理一下发布代码:
返回LibraryItems.find({})代码>
编辑
既然您已按要求发布了订阅代码,我看到您正在使用不同的名称订阅该出版物
改为:
Meteor.subscribe('LibraryItems.all');
希望有帮助我忘记在mains.js中注册出版物了
:
import'../imports/api/libraryitems/server/publications'代码>我忘了在mains.js
中注册出版物:
import'../imports/api/libraryitems/server/publications'代码>好的,那么您在其他地方一定有问题。你能发布你的订阅代码和助手代码吗?好的,那么你在别处肯定有问题。你能发布你的订阅代码和帮助代码吗?你所说的“此出版物不可用”是什么意思?既然你发布了你的容器,我已经编辑了我的原始答案code@Sean,那是一个打字错误,我的错你所说的“本出版物不可用”是什么意思?既然你发布了你的容器,我已经编辑了我的原始答案code@Sean,那是个打字错误,我的错
import LibraryItems from '../api/libraryitems/libraryitems';
import { createContainer } from 'meteor/react-meteor-data';
...
export default createContainer(() => {
Meteor.subscribe('LibraryItems.pub.all');
var libraryitems = LibraryItems.find().fetch();
return {
libraryitems: libraryitems
}
}, Library);
Meteor.subscribe('LibraryItems.all');