Как создать tsconfig.json для TypeScript проекта: пошаговое руководство
Как создать tsconfig.json — полное руководство для начинающих
Вы на правильном пути! tsconfig.json — это файл конфигурации TypeScript, который управляет поведением компилятора. Давайте разберем процесс шаг за шагом.
1. Локальная установка TypeScript (рекомендуется)
Глобальная установка может привести к конфликтам версий в разных проектах. Лучше устанавливать TypeScript локально:
npm init -y
npm install --save-dev typescript
2. Генерация tsconfig.json
Самый простой способ — использовать команду tsc --init. Если TypeScript установлен локально, выполните:
npx tsc --init
Эта команда создаст файл tsconfig.json с базовыми настройками и комментариями. Вот как выглядит минимальная версия:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
3. Объяснение ключевых настроек
- target — версия JavaScript, в которую компилируется код (ES2020 — современный стандарт)
- module — система модулей (commonjs для Node.js, esnext для браузеров)
- strict — включает строгий режим проверки типов (рекомендуется)
- esModuleInterop — упрощает импорт CommonJS модулей
- outDir — папка, куда попадет скомпилированный JS
- rootDir — корневая папка с исходным кодом
- include — какие файлы компилировать
- exclude — какие файлы игнорировать
4. Структура проекта
Рекомендуемая структура для вашего примера:
my-project/
├── src/
│ └── app.ts
├── dist/
├── node_modules/
├── package.json
└── tsconfig.json
5. Компиляция и запуск
Переместите ваш app.ts в папку src. Затем:
npx tsc # компилирует весь проект
node dist/app.js # запускает скомпилированный файл
6. Альтернативный способ — ручное создание
Если tsc --init не подходит, создайте файл вручную:
touch tsconfig.json
# Откройте в редакторе и вставьте конфигурацию выше
7. Решение вашей ошибки с console
Ошибка Cannot find name 'console' возникает, потому что TypeScript не знает о глобальных объектах Node.js. Установите типы:
npm install --save-dev @types/node
После этого console будет распознаваться корректно.
Полный пример package.json
{
"name": "my-typescript-project",
"version": "1.0.0",
"scripts": {
"build": "tsc",
"start": "node dist/app.js",
"dev": "tsc --watch"
},
"devDependencies": {
"typescript": "^5.3.3",
"@types/node": "^20.10.0"
}
}
Теперь вы можете запускать npm run build для компиляции и npm start для запуска. Команда npm run dev включит режим отслеживания изменений — файлы будут перекомпилироваться автоматически.
Использование ts-node для быстрого запуска без компиляции
Если вы хотите запускать TypeScript код без предварительной компиляции в JavaScript, используйте ts-node. Это особенно удобно на этапе разработки.
Установка:
npm install --save-dev ts-node
Теперь вы можете запускать файлы напрямую:
npx ts-node src/app.ts
Для этого не нужен tsconfig.json — ts-node использует стандартные настройки TypeScript. Но если файл конфигурации есть, он будет применен автоматически.
Дополнительные возможности:
- Режим разработки с nodemon — установите
npm install --save-dev nodemonи добавьте скрипт:"dev": "nodemon --exec ts-node src/app.ts" - Использование в production — не рекомендуется, лучше компилировать в JS для производительности
Важно: ts-node требует установки TypeScript в проекте. Если вы используете глобальный TypeScript, могут возникнуть конфликты версий.
Этот подход идеален для небольших проектов, скриптов и прототипов, когда не хочется настраивать полный pipeline компиляции.
Ответов пока нет.
Войдите чтобы оставить ответ