TypeScript разработан для крупномасштабных проектов JavaScripty, которые обычно состоят из нескольких файлов, созданных внутри компании, а также библиотек, созданных извне. Как компилятор TypeScript (tsc) ожидает, что вы предоставите ему полный набор файлов, из которых состоит проект?
Как передать компилятору TypeScript несколько исходных файлов?
Ответы (6)
dir *.ts /b /s > ts-files.txt
tsc @ts-files.txt
del ts-files.txt
Это скомпилирует все *.ts
файлы в рабочем каталоге и его подкаталогах. Если вы не хотите включать подкаталоги, просто удалите часть /s
из первой строки.
Обратите внимание, что вы также можете добавить другие аргументы в строку tsc
. Вот что я сейчас использую в одном из своих проектов:
tsc @ts-files.txt --out ..\output\deerchao.web.js --removeComments
tsc может последовательно компилировать несколько источников, если вы просто укажете имена по порядку:
tsc foo.ts bar.ts
Вы также можете передать текстовый файл, содержащий список файлов и аргументы командной строки, из текстового файла, используя аргумент командной строки @
.
tsc @compile.txt
и compile.txt
может выглядеть так:
--module amd
foo.ts
bar.ts
Также обратите внимание, что если файл ссылается на другой через import
, tsc
автоматически выяснит это без необходимости явно указывать файл, от которого он зависит.
tsc *.ts
?
- person Michel; 28.02.2018
Если кому-то это нужно для Mac OS X:
find . -name "*.ts" -type f >ts-files.txt
/usr/local/bin/tsc @ts-files.txt --module CommonJS --out ./Deploy/ServerMain.js --removeComments
rm ts-files.txt
С TypeScript 1.5 (бета, но скоро должна появиться финальная версия) вы можете создать файл tsconfig.json для настройки компилятора TypeScript и файлов для компиляции (среди прочего). Смотрите мой ответ там: Как посмотреть и скомпилировать все Исходники TypeScript?
Или просто:
find ./my/path/ -name \"*.ts\" -type f | tsc
Если кому-то требуется предварительная трансляция нескольких файлов перед фактической компиляцией проекта, используйте отдельный tsconfig с параметром компилятора --project.
Скомпилируйте проект с учетом действительного файла конфигурации. Аргументом может быть путь к допустимому файлу конфигурации JSON или путь к каталогу, содержащему файл tsconfig.json. Подробнее см. Документацию tsconfig.json.
Одним из вариантов использования может быть необходимость использования результирующих файлов JS в аргументах командной строки для скриптов ионных приложений.
error TS5042: Option 'project' cannot be mixed with source files on a command line.
, если вы пытаетесь использовать параметр --project или -p при указании файлов для компиляции.
- person vikas; 26.01.2018