История, связанная с экосистемой управления типизациями вокруг TypeScript, очень велика.
Сначала был (до сих пор) репозиторий монолитов под названием DefinitelyTyped, который использовался в качестве концентратора для всех разработчиков, которые хотели внести свои типизации для разных библиотек.
Из-за этого хранилища диспетчер типографий называется tsd
, который непосредственно берет метки из этого репозитория и сохраняет их локально в вашем проекте.
Между тем DT repo превысил возможности масштабирования и had to be restructured. Дискуссия продолжилась в том, как должен выглядеть файл d.ts.
, поэтому в какой-то момент возникла необходимость в еще одном способе включения типов в ваш проект. Другая проблема заключалась в версировании библиотек и самого компилятора TypeScript.
Тогда в одной точке Blake Embrey создан новый менеджер типизации называется typings
, который имел поддержку DefinitelyTyped
и новый предложенный способ структурирования d.ts
. Новая структура позволила использовать два типа модулей - глобальные (большинство определенных) и модули, которые должны быть инкапсулированы.
Позже TypeScript 2.0 Beta был анонсирован Microsoft. Команда, стоящая за TypeScript, осознала необходимость в другом способе обработки файлов ввода. То, что они сделали, было @types
npm scope, которое they announced will be the new way of handling typings. На данный момент @types
работает только с TypeScript 2.0.
Файлы деклараций (файлы .d.ts) являются основополагающей частью использования существующих библиотек JavaScript в TypeScript, но получение их всегда было местом, где мы знаем, что есть возможности для улучшения. Когда мы приближаемся к TypeScript 2.0, мы очень рады продемонстрировать пик нашего плана, чтобы упростить ситуацию. Получение объявлений типа TypeScript 2.0 не потребует инструментов, кроме npm.
Так к ответу на ваш вопрос:
При использовании машинописи ниже использование v2.0 typings
, но если вы используете 2.0 use @types
Я просто вручную управляю своими типами локально; работает чудо. Я иногда копирую их от definatelyTyped, если они имеют достаточно хорошее качество и актуальность, что не так часто. – AlexG