Я очень удивлен, что это не в документах, которые я мог бы найти, но есть ли способ просто сказать tsc
для запуска со всеми файлами в каталоге и его дочерними элементами без прохождения целых tsconfig.json
установка?
Typescript - может ли tsc работать со всей папкой?
Ответ 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