TypeScript Academy · Урок

Вывод tsc и noEmit в сравнении со сборщиками

Сравните обычный вывод tsc с режимом --noEmit при использовании сборщиков, таких как Vite или webpack.

Урок 1 из 38 шагов

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

Введение

Цель: узнать, как tsc создаёт JS, что делает --noEmit и почему сборщики часто заменяют этот этап.

Вывод tsc

По умолчанию tsc создаёт скомпилированные файлы JS (и, при необходимости, .d.ts) в outDir.

// tsconfig.json
{
  "compilerOptions": {
    "outDir": "dist"
  }
}

// Command
npx tsc

// Produces JS + .d.ts in dist

noEmit

Режим --noEmit проверяет типы, но не записывает файлы. Он отлично подходит для проектов, где JS обрабатывают сборщики.

// tsconfig.json
{
  "compilerOptions": {
    "noEmit": true
  }
}

// Command
npx tsc --noEmit

// Only type-checks, no JS output

Сборщики модулей

Сборщики модулей (webpack, Vite, esbuild, SWC) преобразуют TS→JS и обрабатывают ресурсы. Для генерации JS им не нужен tsc.

Настройка непрерывной интеграции

Распространённый подход: запускать tsc --noEmit в системе непрерывной интеграции или во время разработки, а для самой сборки использовать сборщик модулей.

// package.json scripts
{
  "scripts": {
    "typecheck": "tsc --noEmit",
    "dev": "vite"
  }
}

Гибридный режим

Генерируйте файлы объявлений с помощью --emitDeclarationOnly, пока сборщики модулей создают JS. Так Вы получаете лучшее из обоих подходов.

// Sometimes use both
npx tsc --emitDeclarationOnly # for .d.ts
npx vite build # for bundles

Вопрос

Быстрая проверка: зачем запускать tsc --noEmit при использовании сборщиков модулей?

Повторение

Повторение: вывод tsc записывает JS; --noEmit только проверяет типы. В современных стеках сборщики модулей (Vite, webpack) создают выходные файлы JS.

Можно начать бесплатно

Изучай TypeScript с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
101
Уроки
352

Часто задаваемые вопросы

Урок «Вывод tsc и noEmit в сравнении со сборщиками» бесплатный?

Да — полный текст урока «Вывод tsc и noEmit в сравнении со сборщиками» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 3 уроков всего.

Чему я научусь в уроке «Вывод tsc и noEmit в сравнении со сборщиками»?

Сравните обычный вывод tsc с режимом --noEmit при использовании сборщиков, таких как Vite или webpack. Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать TypeScript Academy?

Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.

Сколько времени занимает урок «Вывод tsc и noEmit в сравнении со сборщиками»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке TypeScript Academy?

Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Вывод tsc и noEmit в сравнении со сборщиками
  2. Основы Vite, esbuild, SWC и Rollup
  3. Объявления, карты исходников и экспорт типов
← Назад к TypeScript Academy