Задать вопрос
tsepen
@tsepen
Frontend developer

Где хранить переиспользуемые интерфейсы typescript?

Разворачиваю проект на реакт. Где и как хранить переиспользуемые по всему проекту интерфейсы? Если в корне проекта создать файл interfaces.d.ts и складывать все в него - это законно? И создать директорию models и по отдельным файлам кидать туда ?
  • Вопрос задан
  • 4169 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Xuxicheta
@Xuxicheta
инженер
Незаконно, файлы d.ts это для библиотек, написанных на js, которым нужны тайпинги.
Если проект на typescript, то типы и интерфейсы следует импортировать явно.
Либо из models(interfaces, types, ...whatever), либо из сервисов, которые с этими типами работают.
Я склоняюсь к модульной структуре, т.е. интерфейсы лежат в отдельной папке, рядом с тем местом, где они применяются.
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
Законно, по крайней мере пока еще не запретили, но возможно мы к этому когда-нибудь придем.
Храните как вам удобно - интерфейсы бывают разные, если это вообще глобальные - то в один файл в корне, но таких на самом деле обычно мало и больше тайп-конвертеры.
Чаще всего интерфейсы описывают какие-то сущности, кладите их туда же где и код который отвечает за эти сущности.
Например если у вас есть стор и в нем какие-то данные описанные интерфейсами - кладите рядом с данными и экспортируйте оттуда.
Если есть апи которое возвращает данные и для этих данных есть интерфейсы - кладите рядом с апи. И так далее.
Можно прямо в файлах с логикой, можно рядом в файле чисто с интерфейсами. Мне удобнее все в одном - так как если что-то меняется в интерфейсе то обычно меняется вместе с логикой.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы