Typescript Глубокое Погружение
  • Typescript Глубокое Погружение
  • Typescript проект
    • Контекст компиляции
    • Пространство декларации
    • Модули
    • Пространства имен
    • Динамический импорт выражений
  • Typescript Система типов
    • Обзор
    • Миграция с JavaScript
    • @types
    • Декларация окружения
    • Интерфейсы
    • Перечисления
    • lib.d.ts
    • Функции
    • Подлежащий выкупу
    • Тип утверждения
    • Freshness
    • Тип защиты
    • Литеральный тип
    • readonly
    • Дженерики
    • Тип вывода
    • Тип совместимости
Powered by GitBook
On this page
  • Использование @types
  • Глобальные @types
  • Модульные @types
  • Контроль глобальных типов

Was this helpful?

  1. Typescript Система типов

@types

PreviousМиграция с JavaScriptNextДекларация окружения

Last updated 5 years ago

Was this helpful?

Без сомнения, является одним из самых больших преимуществ 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.

DefinelyTyped