ワイルドカードを使用して、ディレクトリ内のすべてのファイルからモジュールをインポートすることは可能ですか? 質問する

ワイルドカードを使用して、ディレクトリ内のすべてのファイルからモジュールをインポートすることは可能ですか? 質問する

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

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

ただし、ファイルごとに 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 つのデフォルト エクスポートが含まれ、各モジュールにはファイルと同じ名前が付けられるという慣例に従って、同様の形式になります。

これは可能ですか?

ベストアンサー1

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

それまでは、中間の「モジュールファイル」を使用することができ、lib/things/index.jsそこには

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

そしてそれはあなたがすることを可能にします

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

おすすめ記事