web-dev-qa-db-ja.com

TypeScript:index.tsファイルを作成せずにフォルダーをインポートできますか?

プロジェクトのほとんどのディレクトリに含まれているTypeScriptファイルが2〜3個以下であり、他の場所に含まれているディレクトリをインポートするときにそれらのすべてのエクスポートにアクセスできる必要がある場合、予測可能なコンテンツを含む多数のindex.tsファイルが生成されます。

ディレクトリ:my-component

my-component-config.ts
my-component.ts
index.ts

index.tsには何が含まれていますか?もちろん含まれています

export * from "./my-component-config"
export * from "./my-component"

それは明らかです。

10個のコンポーネントディレクトリの場合、これは次のことを意味します。100%冗長な情報を含む10個のindex.tsファイル。

TypeScript(/ Node)にindex.tsファイルをオンザフライで暗黙的に作成させ、ハードディスクに保存する必要がないようにするにはどうすればよいですか?

12
ideaboxer

ComponentはTypeScriptとnode.jsでは明確に定義された概念ではありませんが、moduleおよびpackage =あります。

通常、モジュールはソースファイルです。例外は無視してみましょう。したがって、ディレクトリごとにindex.tsファイルを作成することにより、ファサードモジュールを生成し、それぞれ数個のファイル/モジュールのみを集約します。ソースファイルを論理コンポーネントに整理することだけが目的の場合は、ディレクトリごとのファサードは必要ありません。一度にディレクトリではなく、各ファイルを個別にインポートするだけで済みます。

より高いレベルでは、複数の異なるディレクトリで構成されるpackageがある場合、singleindex.tsパッケージレベルのファサード。そのファイルは各ファイル/モジュールを一度だけエクスポートし、ディレクトリごとにindex.tsを必要としません。したがって、次のようになります(それぞれが.tsファイルであると想定)。

export * from './IntStream';
export * from './misc/Interval';
export * from './misc/IntervalSet';
export * from './Lexer';
...
5
Burt_Harris

インデックスファイルなしでTSにディレクトリをインポートする方法はないと思います

していない場合は、これらの質問を確認してください

TypeScriptのディレクトリからすべてのモジュールをインポートする方法

TypeScript 1.8モジュール:すべてのファイルをフォルダーからインポート

最善の方法は、ディレクトリ内のすべてのファイルをインポートするindex.tsを生成するスクリプトを記述し、ファイルを追加/削除するたびにそのスクリプトを実行することです。

3
Gaafar