![](/img/trans.png)
[英]TypeError: Cannot read property 'addTopic' of undefined. Am I blind?
[英]Cannot read property 'insert' of undefined. Am I not publishing correctly?
在将集合定义从client/main.js
文件外部client/main.js
文件之前,我的应用程序运行../imports/api/tasks.js
。
进行此操作后,我在浏览器中Uncaught TypeError: Cannot read property 'insert' of undefined
收到此错误消息: Uncaught TypeError: Cannot read property 'insert' of undefined
浏览器控制台Uncaught TypeError: Cannot read property 'insert' of undefined
。 此错误消息指向main.js:1206
,即:
/ myApp
../client/main.js
import { Images } from '../imports/api/tasks.js';
Meteor.subscribe('Images');
FS.Utility.eachFile(event, function(file) {
var teste = Images.insert(file, function (err, fileObj) {
var insertedIdSession = teste._id;
session.set("insertedBuyId", insertedIdSession);
Images.find().count());
});
/ myApp
../imports/api/tasks.js
import { Mongo } from "meteor/mongo";
Images = new FS.Collection("images", {
stores: [new FS.Store.FileSystem("images", {path: "~/uploads"})] });
/ myApp
../server/main.js
import { Images } from '../imports/api/tasks.js';
Meteor.publish('Images', function(){
return Images.find();
});
我进行了研究,但未能找到解决方案。 请指出我要去哪里了。
它告诉您未定义“图像”。
根据您的代码,.. / imports / api / tasks.js不会导出任何内容,这意味着
import { Images } from '../imports/api/tasks.js';
不会给您任何东西,实际上它将用null代替全局变量Images。 所以我认为解决方案是用以下方法替换导入:
import '../imports/api/tasks.js';
或者,您可以将task.js放在/ common中,这将完成相同的工作
您需要导出Images
集合才能将其导入其他文件,如下所示:
import { Mongo } from "meteor/mongo";
export const Images = new FS.Collection("images", {
stores: [new FS.Store.FileSystem("images", {path: "~/uploads"})]
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.