@types/node, ESM и CJS в Node
@types/node предоставляет типы для API Node, а параметры модуля в tsconfig позволяют выбрать между CommonJS и ESM.
«@types/node, ESM и CJS в Node» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 1 из 2. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 2 уроков всего.
Введение
Цель: использовать @types/node для безопасности типов и настроить TS для модулей CommonJS и ES.
Установка типовых определений
Установите @types/node, чтобы получить определения типов для встроенных API Node, например fs и path.
npm install --save-dev @types/nodeГлобальные переменные Node
С @types/node такие глобальные переменные, как process, __dirname и __filename, распознаются с указанием типов.
console.log(process.version);
console.log(__dirname);
console.log(__filename);Пример CJS
CommonJS: стандартный вариант в Node. Используйте require и module.exports.
// CommonJS style
const fs = require("fs");
const data = fs.readFileSync("file.txt", "utf8");
console.log(data);Пример ESM
ESM: современный синтаксис с import/export. Требуется указать в tsconfig "module": "ESNext" и добавить "type": "module" в package.json.
// ES Module style
import fs from "fs";
const data = fs.readFileSync("file.txt", "utf8");
console.log(data);Модули tsconfig
Управляйте системой модулей в tsconfig.json. Переключайте module между CommonJS и ESNext.
{
"compilerOptions": {
"target": "ES2020",
"module": "CommonJS",
"moduleResolution": "node"
}
}Проверка типовых определений
Быстрая проверка: зачем устанавливать @types/node?
Повторение
Повторение: @types/node добавляет определения типов. CommonJS использует require, а ESM — import. tsconfig определяет систему модулей.
Часто задаваемые вопросы
Урок «@types/node, ESM и CJS в Node» бесплатный?
Да — полный текст урока «@types/node, ESM и CJS в Node» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 2 уроков всего.
Чему я научусь в уроке «@types/node, ESM и CJS в Node»?
@types/node предоставляет типы для API Node, а параметры модуля в tsconfig позволяют выбрать между CommonJS и ESM. Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 2.
Сколько времени занимает урок «@types/node, ESM и CJS в Node»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- @types/node, ESM и CJS в Node
- Параметры выполнения (ts-node/tsx) и карты исходников