Как организовать интерфейсы TypeScript

Я хотел бы знать, что рекомендуется использовать для определения интерфейсов в машинописном тексте. В моем проекте у меня много разных классов. Каждый класс может иметь интерфейс конфигурации. В настоящее время я собрал все эти определения интерфейсов в один файл 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, но не загрязняйте их определенными типами. Конкретные типы могут быть (должны быть) ближе к своим ссылкам, например, реквизиты стиля реакции находятся рядом с (в том же файле, что и) компонентом реакции.

Реактивный компонент Тип опоры/Реактивный компонент

Ответ 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