我有两个文件试图从彼此导入对象。如果我然后尝试访问其中一个对象,那么它是未定义的。
file1 ----------------- 从' file2'
导入{ob1}const test = obj1.foo;
file2 ----------------- 从' file1'
导入{ob2}const test2 = obj2.bar;
答案 0 :(得分:0)
那是因为export const obj2 = {bar: 123};
不是声明而是命令。它需要运行才能在obj2
的导出对象中使file1
可用。
您的代码与此类似:
var file1 = {};
var file2 = {};
const test = file2.obj1.foo; // file2 doesn't have an obj1 field yet!
file1.obj2 = {bar: 123};
const test2 = file1.obj2.bar;
file2.obj1 = {foo: 123};
考虑将访问导入对象(例如集合)的所有代码放入Meteor.startup
回调中。
https://docs.meteor.com/api/core.html#Meteor-startup