2017-10-05 93 views
3

我在我想要动态访问的所有导入模块中都有一个共同的导出属性route,但无法计算出如何遍历导入模块的列表。这可以做到吗?是否有可能在JavaScript中迭代导入的模块?

import User from '/components/user.js'; 
import Document from '/components/document.js'; 

var routes = []; 
[array of imported modules].forEach(m => routes.push(m.route)); 

UPDATE:

到目前为止,我已经尝试了以下内容并不能找到任何他们的模块列表

console.log(User.constructor); 
console.log(Reflect.ownKeys(this)); 
console.log(Reflect.ownKeys(User)); 

我应该在哪里寻找?

+0

你想要动态的东西吗?否则,你可以''用户,文档]' –

+0

是的。进口清单相当长,所以我最好不要记得添加另一个参考。 – jamos

+0

你试过看看吗?发生了什么?如果你为自己尝试它,你将不会破坏任何东西。 – Andy

回答

0

这样做我能想到的唯一方法就是使用eval(),因为现在在js中没有动态导入语句。

我会建议使用不同的库或许?看看这里: https://github.com/jojois74/recycle.js

只需保存传递给mod.prepare的对象,然后迭代其键。

相关问题