Как организовать интерфейсы 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