使用通配符从目录中的所有文件导入模块
使用 ES6 时,可以从单个文件导入多个导出使用以下语法:
import {ThingA, ThingB, ThingC} from 'lib/things';
但是,出于组织目的,可能更可取每个文件有一个模块。这会导致类似于以下内容的导入:
import ThingA from 'lib/things/ThingA'; import ThingB from 'lib/things/ThingB'; import ThingC from 'lib/things/ThingC';
理想的情况是使用通配符从目录中的所有文件导入模块,如下所示:
import {ThingA, ThingB, ThingC} from 'lib/things/*';
这将遵循遵循让每个文件包含一个默认导出并将其命名与其文件相同的约定。
的可行性通配符
不幸的是,JavaScript 目前不支持使用通配符导入模块。模块名称解析由模块加载器处理,并且可能有支持此功能的特定实现。
替代解决方案
在没有通配符支持的情况下,您可以在 lib/things/index.js 中创建一个中间“模块文件”,其中包含以下内容:
export * from 'ThingA'; export * from 'ThingB'; export * from 'ThingC';
这允许您导入使用单个语句所需的模块:
import {ThingA, ThingB, ThingC} from 'lib/things';
以上是如何在 JavaScript 中导入目录中的所有模块?的详细内容。更多信息请关注PHP中文网其他相关文章!