我有两个文件试图从彼此导入对象。如果我然后尝试访问它未定义的对象之一。
文件 1 ----------------- 从 'file2' 导入 { ob1 }
常量测试 = obj1.foo;
导出常量 obj2 = {bar: 123};
文件 2 ----------------- 从 'file1' 导入 { ob2 }
常量 test2 = obj2.bar;
我有两个文件试图从彼此导入对象。如果我然后尝试访问它未定义的对象之一。
文件 1 ----------------- 从 'file2' 导入 { ob1 }
常量测试 = obj1.foo;
文件 2 ----------------- 从 'file1' 导入 { ob2 }
常量 test2 = obj2.bar;
那是因为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