Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以从目录中导入所有类并初始化它们?_Javascript_Import - Fatal编程技术网

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组件