1. ホーム
  2. ジャバスクリプト

[解決済み] [Solved] ワイルドカードを使って、ディレクトリ内のすべてのファイルからモジュールをインポートすることは可能ですか?

2022-03-27 03:57:48

質問

ES6では、このように1つのファイルから複数のエクスポートをインポートすることができます。

import {ThingA, ThingB, ThingC} from 'lib/things';

しかし、私は1つのファイルに1つのモジュールを持つという構成が好きです。結局、こんな感じでインポートしています。

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/*';

のようなもので、各ファイルにはデフォルトのエクスポートが1つ含まれ、各モジュールはそのファイルと同じ名前になるという規則が理解されています。

これは可能でしょうか?

どのように解決するのですか?

モジュール名の解決はモジュールローダー次第なので、これをサポートするローダーの実装があるかもしれませんね。

それまでは、中間的な "モジュールファイル" を lib/things/index.js を含むだけである。

export * from 'ThingA';
export * from 'ThingB';
export * from 'ThingC';

といったことができるようになります。

import {ThingA, ThingB, ThingC} from 'lib/things';