@types пакеты

Тренажер по TypeScript для пользователей с начальным уровнем подготовки.

Тренажер по TypeScript

Многие популярные библиотеки написаны на JavaScript и не содержат типов TypeScript. Чтобы использовать их без ошибок компиляции (например, lodash, react, jquery), необходимо установить файлы деклараций.

Эти файлы описывают типы функций и переменных библиотеки. Обычно они распространяются через npm в области видимости @types. Например, для библиотеки library-name типы будут находиться в пакете @types/library-name. Это позволяет TypeScript «понимать» структуру стороннего кода и предоставлять автодополнение.

В этом уроке мы разберем, как находить, устанавливать и использовать @types пакеты.

Список тем

1. Установка типов

id: 40766_ts_decl_types_replace_01

В этом задании вы практикуете установку файлов деклараций TypeScript для сторонних библиотек с использованием npm. Для библиотеки lodash необходимо написать команду npm, которая установит соответствующие типы. TypeScript полагается на отдельные пакеты @types для предоставления типов для библиотек JavaScript. Заполните пропуск в команде терминала так, чтобы она корректно выполняла установку типов для lodash. Обратите внимание, что имя пакета должно включать префикс '@types/'.

Заполните пропуски
npm install input1S
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Типы зависимостей

id: 40766_ts_decl_types_sort_02

Перед вами список названий npm-пакетов, которые могут встречаться в проектах на TypeScript. Ваша задача — распределить их по двум категориям: «Обычные библиотеки» (стандартные пакеты, такие как react или lodash) и «Пакеты типов» (специальные пакеты, предоставляющие типы для TypeScript, которые всегда начинаются с префикса @types/). Обратите внимание, что пакеты типов устанавливаются отдельно для добавления типизации к JavaScript-библиотекам.

Перетяните элементы в соответствующие блоки
Обычные библиотеки
Пакеты типов
react
@types/react
lodash
@types/lodash
express
@types/express
jquery
@types/jquery
moment
@types/node
Сообщения
Проверить
Показать подсказку

3. Ошибка импорта

id: 40766_ts_decl_types_error_03

В этом фрагменте файла package.json допущена ошибка в названии пакета типов для Node.js в секции devDependencies. Исправьте строку с ошибкой, чтобы проект мог корректно использовать типы TypeScript для Node.js.

Найдите ошибку и исправьте
{
"name": "my-typescript-project",
"version": "1.0.0",
"description": "A sample TypeScript project",
"devDependencies": {
"typescript": "^5.0.0",
"types/node": "^18.0.0",
"@types/jest": "^29.0.0"
}
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Алгоритм подключения библиотеки

id: 40766_ts_decl_types_sequencing_04

В этом задании вам нужно восстановить правильную последовательность действий при подключении сторонней JavaScript-библиотеки в TypeScript-проект. Строки ниже описывают ключевые шаги этого процесса, но расположены в случайном порядке. Расставьте их в логическом порядке, отражающем корректную процедуру: от установки библиотеки до её успешного использования в TypeScript-коде.

Расставьте строки в правильном порядке
Установка пакета с декларациями типов для этой библиотеки: npm install --save-dev @types/lodash.
В TypeScript-файле появляется ошибка: 'Не удается найти модуль lodash' или 'Модуль не имеет экспортированных членов'.
Импорт проходит успешно, и функции библиотеки (например, _.shuffle) можно использовать с полной поддержкой TypeScript.
Попытка импортировать библиотеку в TypeScript-файл: import * as _ from 'lodash';
Установка JavaScript-библиотеки (например, lodash) с помощью команды: npm install lodash.
Сообщения
Проверить
Показать подсказку

5. Выбор флага установки

id: 40766_ts_decl_types_select_05

В этом задании вам нужно дополнить команду установки пакета типов для TypeScript, выбрав правильный флаг npm. Пакеты @types содержат декларации типов для библиотек JavaScript и обычно нужны только во время разработки. Выберите из списка подходящий флаг, который сохранит пакет как зависимость для разработки, а не как основную зависимость проекта. Обратите внимание, что у npm есть несколько флагов для управления зависимостями.

Нужно правильно расставить в пропуски предложенные варианты
npm install @types/node input1S
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

6. Имя пакета типов

id: 40766_ts_decl_types_give_result_06

В TypeScript, для использования библиотек JavaScript, которые не имеют встроенных типов, часто устанавливают пакеты типов из репозитория DefinitelyTyped. Эти пакеты имеют стандартное именование в формате '@types/имя-библиотеки'. В данном задании вам предоставлено имя популярной библиотеки. Ваша задача — ввести полное название соответствующего пакета типов, включая префикс '@types/'. Убедитесь, что ответ вводится точно, с правильным регистром и без дополнительных пробелов или символов.

Что должно получиться?

Дана библиотека: lodash

Введите полное имя пакета типов для этой библиотеки в текстовое поле ниже.

Сообщения
Проверить
Показать подсказку

7. Команда терминала

id: 40766_ts_decl_types_build_07

Из предложенных строк соберите корректную команду терминала для установки пакета типов @types/node как dev-зависимости с помощью npm. Команда должна состоять из четырёх частей: название пакетного менеджера, команда установки, флаг для сохранения как dev-зависимости и имя пакета. Одна из строк лишняя и не должна входить в решение.

Перетяните в правильном порядке строки из одного блока в другой
npm
install
--save-dev
@types/node
@types/lodash
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

TypeScript: компиляция и запуск

id: 40766_compiler
TS
Запустить тренажёр (TypeScript)
НайтиКурс.Ру