@types

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

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

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

Вы можете установить @types через npm, как показано в следующем примере, для jquery можете сделать так:

npm install @types/jquery --save-dev

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

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

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

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

Модульные @types

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

import * as $ from 'jquery';

// Теперь вы можете использовать $ в этом модуле :)

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

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

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

Как показано в примере выше, при настройке compilerOptions.types: ['jquery'] разрешается только пакет @types/types, даже если человек устанавливает другой файл объявления, такой как npm install @types/node, его глобальные переменные ( Например, process) не попадут в ваш код, пока вы не добавите их в tsconfig.json.

Last updated

Was this helpful?