流星循环进口

时间:2016-07-02 10:24:25

标签: javascript meteor javascript-import

我有两个文件试图从彼此导入对象。如果我然后尝试访问其中一个对象,那么它是未定义的。

file1 ----------------- 从' file2'

导入{ob1}

const test = obj1.foo;

export const obj2 = {bar:123};

file2 ----------------- 从' file1'

导入{ob2}

const test2 = obj2.bar;

export const obj1 = {foo:123};

1 个答案:

答案 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