Javascript 是否可以从目录中导入所有类并初始化它们?
假设我的目录树是这样的:Javascript 是否可以从目录中导入所有类并初始化它们?,javascript,import,Javascript,Import,假设我的目录树是这样的: / Children/ ChildrenIndex.js Base.js ChildA.js ChildB.js ChildC.js ... ChildN.js Main.js 任何给定的ChildX.js都是这样的 从“/Base.js”导入Base; 类ChildX扩展了基{ 构造器参数{ this.params=params } } 导出默认ChildX ChildrenIndex.js看起来像这
/
Children/
ChildrenIndex.js
Base.js
ChildA.js
ChildB.js
ChildC.js
...
ChildN.js
Main.js
任何给定的ChildX.js都是这样的
从“/Base.js”导入Base;
类ChildX扩展了基{
构造器参数{
this.params=params
}
}
导出默认ChildX
ChildrenIndex.js看起来像这样
从“/ChildA.js”导出{defaultaschilda};
从“/ChildB.js”导出{defaultaschildb};
从“/ChildC.js”导出{defaultaschildc};
...
从“/ChildN.js”导出{defaultaschildn};
我是否可以在Main.js中导入Base.js的所有子项,并获得一个完整的实例列表,每个子项的初始化?下面是我想要的伪代码:
从“./Children/ChildrenIndex.js”导入{*}
班长{
建造师{
让childConstructors=getAllConstructorsIn'/Children/ChildrenIndex.js';
让孩子们=[];
对于ChildConstructor的let构造{
儿童。新的结构图;
}
}
}
我可以手动从“/ChildrenIndex.js”导入{ChildA,ChildB,ChildC,…,ChildN},然后像这样填充列表:[new ChildAparams,new ChildBparams,new ChildCparams,…,new ChildNparams]。而且,这很好。但是,我希望有人能够将Base.js的实现放在children目录中,以便添加新的功能,而不必担心随后会在代码的其他部分编写导入语句和初始化。如果相关的话,我是在React应用程序的模型中这样做的 这应该可以在Main.js中使用:
将*作为子项从导入。/Children/ChildrenIndex;
Children.ChildA//ChildA组件
Children.ChildB//ChildB组件