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