Игнорирование папок в компиляторе TypeScript: основные методы и советы по настройке

При работе с TypeScript вы можете столкнуться с ситуациями, когда вам захочется исключить определенные папки или файлы из процесса компиляции. Это может быть полезно, если у вас есть сторонние библиотеки, тестовые файлы или другие ресурсы, которые не нужно компилировать вместе с исходным кодом. В этой статье мы рассмотрим несколько способов исключения папок из компилятора TypeScript с помощью файла конфигурации tsconfig.json.

Метод 1: использование свойства «exclude» в tsconfig.json
Файл tsconfig.json позволяет указать свойство «exclude», которое принимает массив шаблонов glob, представляющих файлы или папки, которые вы хотите исключить.. Например, чтобы исключить папку «node_modules», вы можете добавить следующую запись в файл tsconfig.json:

{
  "exclude": [
    "node_modules"
  ]
}

Это указывает компилятору TypeScript пропустить компиляцию любых файлов в папке «node_modules».

Метод 2: использование свойства «include» в tsconfig.json
В качестве альтернативы вы можете использовать свойство «include» в tsconfig.json, чтобы указать, какие файлы и папки следует скомпилировать. По умолчанию TypeScript включает в процесс компиляции все файлы TypeScript. Чтобы исключить определенные папки, создайте запись «include» с шаблонами файлов, которые вы хотите включить. Например:

{
  "include": [
    "src//*.ts"
  ]
}

Этот пример включает все файлы TypeScript в папке «src» и ее подкаталогах, исключая любые другие файлы.

Метод 3. Использование шаблона подстановки в свойстве «исключить».
Чтобы исключить несколько папок или файлов с похожим шаблоном именования, вы можете использовать шаблоны подстановки в свойстве «исключить». Например, чтобы исключить все папки с именем «test» или заканчивающимися на «.spec.ts», вы можете изменить свой tsconfig.json следующим образом:

{
  "exclude": [
    "test",
    "/*.spec.ts"
  ]
}

Эта конфигурация исключит любые файлы в папке «test» и все файлы, заканчивающиеся на «.spec.ts».

Метод 4: использование свойства «файлы»
В некоторых случаях вам может потребоваться включить определенные файлы, но исключить целые папки. В таких сценариях вы можете использовать свойство files в tsconfig.json, чтобы явно перечислить файлы, которые вы хотите включить. Например:

{
  "files": [
    "src/main.ts",
    "src/utils.ts"
  ]
}

Эта конфигурация скомпилирует только указанные файлы, игнорируя остальные.

В этой статье мы рассмотрели несколько способов исключения папок из компилятора TypeScript с помощью файла tsconfig.json. Используя свойства «exclude» и «include», а также шаблоны glob, вы можете точно настроить процесс компиляции, исключая ненужные файлы и папки, что приводит к сокращению времени сборки и более чистому выводу. Не забудьте настроить файл tsconfig.json в соответствии с конкретными потребностями вашего проекта и структурой папок.