TypeScriptのインターフェースを整理する方法
TypeScriptでインターフェース定義を整理する推奨方法を知りたいです。私のプロジェクトには多くの異なるクラスがあります。各クラスには設定用のインターフェースが存在する場合があります。現在、これらのすべてのインターフェース定義を1つのファイル Interfaces.ts にまとめ、さまざまな場所からそのファイルを参照しています。
もっと良い方法はありますか?
例: https://github.com/blendsdk/blendjs/blob/devel/blend/src/common/Interfaces.ts
回答 #1
グローバル
TypeScript チームは、types.ts というファイルを使用しています: https://github.com/Microsoft/TypeScript/blob/master/src/compiler/types.ts
私は自分のプロジェクトでも同じことをしています。例: https://github.com/alm-tools/alm/blob/master/src/common/types.ts
代替
高頻度で再利用される部分がtypesに属するのは問題ありませんが、特定の型でそれを汚染しないでください。特定の型は、その参照先に近い(あるいは同じファイル内にある)べきです。例えば、ReactのスタイルプロップはReactコンポーネントの隣(同じファイル内)に置くべきです。
Reactコンポーネントのプロップ型/Reactコンポーネント
回答 #2
私はアプリをこのように構築するのが好きです:
|-- app
|-- components
|-- directives
|-- services
|-- interfaces
|-- <feature/component name>
|-- <interface name>.interface.ts
回答 #3
私のプロジェクトはこのように構築されています
src/
└── ts
├── enums
│ ├── app_enums.ts
│ └── db_enums.ts
├── interfaces
│ ├── app_interfaces.ts
│ ├── db_interfaces.ts
│ └── global_interfaces.ts
└── types
└── app_types.ts
