gpt4 book ai didi

javascript - 为什么发布后没有定义任何集合?

转载 作者:行者123 更新时间:2023-12-03 05:39:40 25 4
gpt4 key购买 nike

我不断在浏览器控制台中收到这些错误消息:

Exception in template helper: ReferenceError: "CollectionNames" is not defined

“CollectionNames”是我的应用程序中的所有集合。我研究过但找不到合适的解决方案。

我的环境:
我运行的是meteor 1.2

task.js 文件是我定义每个集合的地方。下面是task.js中的代码

/myMeteorApp
--/imports/api/tasks.js

import { Mongo } from "meteor/mongo";
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';

Images = new FS.Collection("images", {
stores: [new FS.Store.FileSystem("images", {path: "~/uploads"})] });

buyList = new Mongo.Collection("BuyList");

WhoAreWe = new Mongo.Collection("whoDb");
merchantReviews = new Mongo.Collection("merchantReviews");

Messages = new Meteor.Collection("messages", {transform: function (doc)
{ doc.buyListObj = buyList.find({sessionIDz: {$in: [doc.buyList]}}); return doc; }});

服务器是我发布集合的地方。下面是代码:
/myMeteorApp
--/server/main.js

import buyList from '../imports/api/tasks.js';
import Messages from '../imports/api/tasks.js';
import Images from '../imports/api/tasks.js';
import WhoAreWe from '../imports/api/tasks.js';
import merchantReviews from '../imports/api/tasks.js';

Meteor.startup(() => {
// code to run on server at startup

Meteor.publish('buyList', function(){
return buyList.find();
});


Meteor.publish('Messages', function(){
return Messages.find();
});

Meteor.publish('Images', function(){
return Messages.find();
});


Meteor.publish('WhoAreWe', function(){
return WhoAreWe.find();
});

Meteor.publish('merchantReviews', function(){
return merchantReviews.find();
});

});


客户端是我订阅集合的地方。找到下面的代码:

/myMeteorApp
--/client/main.js

import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import './main.html';

Meteor.subscribe('Messages');
Meteor.subscribe('WhoAreWe');
Meteor.subscribe('Images');
Meteor.subscribe('buyList');

我哪里出错了。我已经这样做很多天了......请帮忙!

最佳答案

集合必须在客户端和服务器上定义!只需在客户端和服务器上导入您的集合名称即可:

import { buyList, Messages, Images, WhoAreWe, merchantReviews } from '../imports/api/tasks.js';

当然,您仍然需要订阅各种出版物

关于javascript - 为什么发布后没有定义任何集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com