Сглаживание типов TypeScript или интерфейсов?

Как разработчик TypeScript, я слишком привык к проблемам с «Дублирующимся идентификатором» при работе с .d.ts файлами.

Совсем недавно это произошло, потому что мне нужны были как типизации (.d.ts файлы) Angular 2, так и Parse.

Angular 2 не распространяет свои файлы .d.ts через DefinitelyTyped, поэтому мне пришлось получить Angular 2 через NPM, который также включает исходные файлы.

Теперь .d.ts файлов Parse происходят из DefinitelyTyped. Хорошо - пока все хорошо.

Затем возникает проблема, потому что обе эти библиотеки зависят от типизации Node JS. Типизации Node JS для Parse расположены в папке typings, тогда как типизации Node JS для Angular 2 расположены в подпапке под node_modules/angular2.

Это дает мне огромное количество проблем с повторяющимися идентификаторами при компиляции.

Итак, большой вопрос (ы)

  • Могу ли я сгладить файлы .d.ts, чтобы у них не было дубликатов?
  • Могу ли я как-то заставить компилятор TypeScript игнорировать повторяющиеся определения интерфейса?

person Mathias Lykkegaard Lorenzen    schedule 31.12.2015    source источник
comment
Можете ли вы дать ссылку на Parse, который вы имеете в виду?   -  person Martin Vseticka    schedule 05.01.2016
comment
Это просто определение DefinitelyTyped для Parse.   -  person Mathias Lykkegaard Lorenzen    schedule 06.01.2016


Ответы (1)


Не существует официального инструмента для выравнивания файлов .d.ts или любого другого, о котором я знаю. Есть много сообщений о проблемах для вашей (или аналогичной) проблемы:

Команда Angular работает над этой проблемой.

В качестве обходного пути я бы просто закомментировал ///<reference> комментариев, вызывающих ваши ошибки, и дождался исправления.

person Martin Vseticka    schedule 06.01.2016