Главная Категории Контакты Поиск

TypeScript компилятор или TSC

Что такое TypeScript компилятор, как он работает и как его настроить.

TypeScript·01.10.2019·читать 1 мин 🤓·Автор: Alexey Myzgin

Компилятор TypeScript (также известный как «tsc») является основой многих пакетов, плагинов и инструментов, которые работают с TypeScript. Хотя мы не часто вызываем tsc напрямую, так как настраиваем поведение tsc внутри, используемых нами упаковщиков.

Когда мы устанавливаем TypeScript глобально npm i -g typescript - получаем инструмент под названием tsc. Если запустим эту команду с флагом help tsc --help, то увидим большое количество опций, которые идут с ним. Основные из них, на которые стоит обратить внимание - это первые примеры вверху Examples:

Examples: tsc hello.ts
          tsc --outFile file.js file.ts
          tsc @args.txt
          tsc --build tsconfig.json

Если создадим файл hello.ts, внутри напишем const four:number = 2 + 2, а затем запустим tsc hello.ts, то получим скомпилированный файл hello.js со значением var four = 2 + 2;.

Использовать tsc таким образом мы будем редко, потому что tsc включен в плагины такие как Webpack, Parcel и Angular CLI.

Вместо этого мы используем tsc --init. Она создает файл в корне директории с именем tsconfig.json. В нем находятся все значения по умолчанию. Это очень удобно, так как вместо того, чтобы определять все эти параметры в командной строке при его вызове, мы определяем их в этом файле конфигурации TS. Когда запустим команду tsc, то компилятор будет брать настройки с tsconfig.json.

Также, мы можем поменять настройки конфигурации, например, поменять значение ourDir на ./dist. Теперь все скомпилированные файлы должны сохраняться во внешний каталог ./dist.

Всё, что определено в этом файле, будет указывать, какие параметры компилятор TypeScript будет использовать при компиляции. Когда TypeScript начинает “жаловаться” на то, что ты не используешь достаточно типов, можно начать отключать некоторые из этих предупреждений или ошибок.

Website, name & logo
Copyright © 2022. Alex Myzgin