Как скомпилировать несколько файлов в разных директориях и результат компиляции так же разложить по разным директориям?

Для компиляции нескольких файлов TypeScript, расположенных в различных директориях, и разделения результатов компиляции по соответствующим директориям, можно использовать несколько подходов.

1. Использование командной строки:
Вы можете воспользоваться утилитой командной строки tsc (TypeScript Compiler) для компиляции нескольких файлов. При этом вы можете использовать флаги --outDir и --rootDir для указания выходной директории и корневой директории соответственно.

Например, предположим, что у нас есть следующая структура каталогов:

├── src
│   ├── module1
│   │   └── file1.ts
│   ├── module2
│   │   └── file2.ts
│   └── main.ts
└── dist

Вы можете выполнить следующую команду в командной строке:

tsc --outDir dist --rootDir src

Это скомпилирует все файлы TypeScript в папке src и ее подпапках и разместит результат компиляции в папке dist со структурой папок, аналогичной исходным файлам:

└── dist
    ├── module1
    │   └── file1.js
    ├── module2
    │   └── file2.js
    └── main.js

2. Использование файла конфигурации tsconfig.json:
Другим способом является создание файла конфигурации tsconfig.json, в котором вы можете указать настройки компиляции для вашего проекта. В этом файле вы можете указать, какие файлы компилировать, а также указать выходную директорию с помощью свойства outDir.

Пример содержимого файла tsconfig.json:

{
  "compilerOptions": {
    "outDir": "dist"
  },
  "include": [
    "src/**/*.ts"
  ]
}

Здесь мы говорим TypeScript Compiler компилировать все файлы с расширением .ts внутри папки src и ее подпапки, а результат поместить в папку dist.

Вы можете выполнить следующую команду в командной строке, чтобы скомпилировать ваш проект на основе файла конфигурации tsconfig.json:

tsc

Это скомпилирует все файлы TypeScript по настройкам, указанным в файле конфигурации, и результат положит в папку, указанную в свойстве outDir.

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