Большинство новичков проходят через один и тот же сценарий.
Ты создаёшь проект на TypeScript, открываешь папку и видишь файл:
tsconfig.jsonОткрываешь его, а там:
{
"compilerOptions":{
"target":"ES2022",
"module":"NodeNext",
"strict":true,
"moduleResolution":"NodeNext",
"esModuleInterop":true,
"skipLibCheck":true
}
}После первых трёх строк мозг уже такой:
«Закрыть. Не трогать. Оно само работает».
😂 Знакомо?
Самое смешное, что именно так и делает большинство новичков. И это абсолютно нормально.

🤔 Почему tsconfig вообще существует?
Представь, что TypeScript — это очень умный преподаватель.
Перед тем как проверить твой код, он спрашивает:
«А по каким правилам сегодня работаем?»
Именно эти правила лежат внутри tsconfig.json.
Этот файл не пишет код. Он просто объясняет компилятору:
какие возможности JavaScript использовать;
насколько строго проверять ошибки;
какие файлы учитывать;
как собирать проект;
что игнорировать.
То есть это скорее настройки игры, чем сама игра.
🎮 Аналогия с видеоиграми
Перед запуском игры ты открываешь настройки:
Full HD или 4K;
высокая графика или низкая;
субтитры включить или выключить;
русский язык или английский.
Игра от этого не меняется. Меняются только правила её запуска.
С tsconfig абсолютно та же история.
😨 Почему он выглядит настолько страшно?
Потому что большинство проектов используют готовый шаблон.
В нём лежат десятки параметров, хотя новичку реально нужны буквально несколько.
Всё остальное добавлялось годами ради:
библиотек;
сборщиков;
серверов;
React;
Vue;
Node.js;
Vite;
Next.js;
Angular;
и ещё сотен разных сценариев.
Получается огромный список, который выглядит как панель управления космическим кораблём.
Но пользоваться им сразу совсем не обязательно.
🚀 Самые важные настройки, которые реально стоит знать
✅ strict
Самая полезная настройка.
{
"strict":true
}Она говорит TypeScript:
«Не жалей меня. Проверяй всё максимально строго».
Да, сначала ошибок станет больше. Но именно благодаря этому ты начнёшь писать гораздо более качественный код.
Новички часто хотят отключить strict. Через несколько месяцев почти все хотят включить его обратно.
🎯 target
{
"target":"ES2022"
}Это версия JavaScript, в которую будет превращаться твой TypeScript.
Если очень грубо: на каком «языке» потом будет разговаривать браузер или Node.js.
📦 module
{
"module":"ESNext"
}Определяет, как работают импорты.
Например:
import {sum} from "./math";Для новичка пока достаточно понимать одно:
Не трогай, если не знаешь зачем 😄
🛡️ skipLibCheck
{
"skipLibCheck":true
}Очень полезная настройка.
TypeScript перестаёт проверять типы внутри установленных библиотек и доверяет их авторам.
В итоге проект компилируется быстрее, а ты не получаешь пачку ошибок из чужого кода.
📂 include и exclude
Эти параметры отвечают за простой вопрос:
Какие файлы вообще проверять?
Например:
{
"include":["src"]
}Или:
{
"exclude":["node_modules"]
}Ничего магического. Просто список папок.
😂 Почему не стоит пытаться понять весь tsconfig за один вечер?
Есть популярная ошибка новичков.
Открыть документацию, увидеть сотню параметров и решить:
«Я сначала изучу абсолютно всё, а потом начну писать код».
Спойлер: так никто не делает.
Даже опытные разработчики регулярно ищут:
что делает
exactOptionalPropertyTypes;зачем нужен
noUncheckedIndexedAccess;чем
NodeNextотличается отESNext;почему TypeScript внезапно не видит импорт.
И это абсолютно нормально.
Разработчик — это не человек, который помнит все настройки. Это человек, который умеет понять, какая настройка нужна прямо сейчас.
💡 Хорошая новость
Если ты используешь Vite, React, Vue, Angular, Next.js или NestJS, то примерно 95% настроек уже выбраны за тебя.
Ты можешь долго писать код, практически не открывая tsconfig.json.
А когда появится реальная задача, постепенно начнёшь понимать, что означает каждая строчка.
Именно так происходит у большинства разработчиков.
⚠️ Когда всё-таки стоит заглянуть в tsconfig?
Обычно это происходит не потому, что тебе стало скучно, а потому что появилась конкретная проблема.
Например:
TypeScript не видит нужную папку;
не работают алиасы вроде
@/components;проект собирается под старую версию JavaScript;
появились странные ошибки с импортами;
нужно усилить проверку типов;
нужно исключить тесты или служебные файлы.
Вот тогда ты открываешь конфиг, меняешь одну конкретную настройку и закрываешь его обратно.
Не нужно становиться шаманом конфигураций. Достаточно решать реальные задачи по мере появления.
📱 Изучать TypeScript проще на практике
Запоминать параметры tsconfig по документации — удовольствие сомнительное.
Гораздо эффективнее разбирать реальные проекты, исправлять ошибки типов и постепенно понимать, зачем вообще нужны все эти настройки.
Именно поэтому в приложении Кодик обучение программированию построено вокруг практики. Ты не просто читаешь теорию, а сразу пишешь код, решаешь задачи, исправляешь ошибки и видишь, как TypeScript работает в настоящих проектах.
Так новые темы запоминаются быстрее, а непонятные конфиги перестают выглядеть как древнее заклинание.
А если хочется регулярно прокачивать знания небольшими порциями, заглядывай в наше сообщество в Telegram. Там выходят полезные посты, мини-разборы, советы и мемы про разработку. Это отличный способ повторять программирование в удобном формате и не выпадать из обучения. 🚀
🎯 Итог
Не бойся tsconfig.json.
Он не проверяет тебя на знание TypeScript.
Он не скрывает тайных настроек уровня Senior.
Это всего лишь файл с правилами, по которым компилятор работает с проектом.
Тебе не нужно знать каждую строчку наизусть. Достаточно понимать базовые параметры и разбираться с остальными тогда, когда они действительно понадобятся.
И знаешь, что самое забавное?
Почти каждый разработчик когда-то впервые открыл tsconfig.json, быстро закрыл его и сделал вид, что этого файла вообще не существует. 😄
