ウェブサイト検索

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

関連記事