Перейти к содержанию

@types

Definitely Typed, безусловно, одна из самых сильных сторон TypeScript. Сообщество продуктивно продвинулось вперед и задокументировало сущность почти 90% лучших проектов на JavaScript.

Это означает, что вы можете использовать эти проекты в очень интерактивном и исследовательском режиме, не нужно открывать документы в отдельном окне чтобы убедиться что вы не сделали опечатку.

Использование @types

Установка довольно проста, так как она работает поверх npm. В качестве примера вы можете установить определения типов для jquery просто как:

npm install @types/jquery --save-dev

@types поддерживает определения обоих видов глобальные и модульные.

Глобальные @types

По умолчанию любые определения, которые поддерживают глобальное употребление, включаются автоматически. Например, для jquery вы сможете использовать $ глобально в своем проекте.

Однако для библиотек (например, jquery) я обычно рекомендую использовать модули:

Модульные @types

После установки никаких специальных настроек не требуется. Вы просто используете его как модуль, например:

import * as $ from 'jquery';

// Используйте $ по своему усмотрению в этом модуле :)

Контроль глобальных типов

Как можно видеть, наличие определения, которое позволяет глобальный доступ автоматически, может быть проблемой для некоторых команд. Что ж, вы можете явно вводить только те типы, которые необходимы, используя tsconfig.json compilerOptions.types, например:

{
    "compilerOptions": {
        "types": ["jquery"]
    }
}

Выше показан пример, в котором будет разрешено использовать только jquery. Даже если человек установит другие определения, такие как npm install @types/node, его глобальные переменные (например, process) не попадут в ваш код, пока вы не добавите их в опцию типов tsconfig.json.