Подтвердить что ты не робот

Typescript - может ли tsc работать со всей папкой?

Я очень удивлен, что это не в документах, которые я мог бы найти, но есть ли способ просто сказать tsc для запуска со всеми файлами в каталоге и его дочерними элементами без прохождения целых tsconfig.json установка?

4b9b3361

Ответ 1

Не то, что я знаю из. Использование tsc из командной строки без tsconfig.json требует, чтобы вы указали каждый файл отдельно, например так:

tsc MyFile1.ts MyFile2.ts MyFile3.ts

Тем не менее, похоже, что вы можете просто создать пустой tsconfig.json (то есть просто {}) в корне вашего каталога TypeScript, и он будет делать то, что вы хотите. С https://github.com/Microsoft/TypeScript/wiki/tsconfig.json:

Если в tsconfig.json отсутствует свойство "files", компилятор по умолчанию включает все файлы TypeScript (*.ts или *.tsx) в каталог и подкаталоги.

Ответ 2

Вы можете использовать globs

tsc x/file1.ts x/file2.ts x/file3.ts

должен быть эквивалентен

tsc x/*.ts

Ответ 3

Если у вас есть файл tsconfig.json внутри вашей папки проекта, вы можете напрямую напечатать

tsc эта команда будет скомпилировать все ваши ts файлы в текущей папке, если у вас нет файла tsconfig.json, вы можете сгенерировать его, набрав: '

tsc -init

Ответ 4

Это может быть излишним, но я просто написал функцию PS для использования в VS Code как задачу;

function CompileTypeScriptFiles($folder) {
    $tsFiles = Get-ChildItem $folder -Filter "*ts" -Recurse
    $tsFiles | ForEach-Object {
        $tsFile = $_.FullName;
        $options = $tsFile + " --outDir js --sourceMap"
        Start-Process "tsc" $options 
    }
}

Ответ 5

Пользователи Windows должны использовать for цикла:

for %f in (./path/*.ts) do npx tsc "./path/%f" --lib es2018 --outDir ./path/bin

Не забудьте удвоить % если используете его внутри bat файла:

for %%f in (./path/*.ts) do npx tsc "./path/%%f" --lib es2018 --outDir ./path/bin