Расширение модулей
Разберитесь, как расширять или изменять существующие модули и библиотеки в соответствии с потребностями проекта
«Расширение модулей» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 3 уроков всего.
Введение в расширение модулей
Введение в расширение модулей
Расширение модулей позволяет дополнять или изменять существующие модули, добавляя пользовательские свойства или методы в библиотеки и модули TypeScript.
Это особенно полезно при работе со сторонними библиотеками, которым требуется дополнительная функциональность или пользовательские типы.

Что такое расширение модулей
Что такое расширение модулей?
Расширение модулей заключается в повторном открытии существующего модуля и добавлении или изменении его типов или функциональности с помощью синтаксиса declare module.
Простой пример расширения модуля
Простой пример расширения модуля
Вот пример расширения модуля express для добавления пользовательского свойства в объект Request:
import 'express';
declare module 'express' {
interface Request {
user?: { id: string; role: string };
}
}Использование расширенных модулей
Использование расширенных модулей
После расширения модуля вы можете использовать добавленную функциональность в своём приложении:
import express from 'express';
const app = express();
app.use((req, res, next) => {
req.user = { id: '123', role: 'admin' };
next();
});
app.get('/', (req, res) => {
res.send(`User ID: ${req.user?.id}`);
});Добавление пользовательских типов в сторонние модули
Добавление пользовательских типов в сторонние модули
Расширение модулей часто используется для добавления пользовательских типов в сторонние библиотеки, которые не полностью покрывают ваш вариант использования.
Меры предосторожности при расширении модулей
Меры предосторожности при расширении модулей
При расширении модуля:
- Убедитесь, что вы случайно не перезаписываете существующие типы.
- Документируйте свои изменения, чтобы упростить дальнейшее сопровождение кода.
- Используйте расширение модулей только при необходимости, чтобы не загромождать глобальные типы.
Практические варианты использования
Практические варианты использования
Расширение модулей часто используется для:
- Дополнения сторонних библиотек свойствами, специфичными для приложения.
- Добавления пользовательских свойств промежуточного программного обеспечения во фреймворки, такие как Express.js.
- Адаптации модулей к требованиям конкретного проекта.
Практическое задание
Практическое задание
Расширьте объект Request из модуля express, добавив пользовательский метод isAuthenticated. Используйте этот метод в примере функции промежуточного программного обеспечения.
Поздравляем
Поздравляем!
Вы научились использовать расширение модулей для дополнения или изменения существующих модулей в TypeScript. Практикуйтесь в этом навыке, чтобы настраивать сторонние библиотеки и расширять возможности своих приложений!

Часто задаваемые вопросы
Урок «Расширение модулей» бесплатный?
Да — полный текст урока «Расширение модулей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 3 уроков всего.
Чему я научусь в уроке «Расширение модулей»?
Разберитесь, как расширять или изменять существующие модули и библиотеки в соответствии с потребностями проекта Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Расширение модулей»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Строгая проверка на null
- Динамическое создание типов
- Расширение модулей