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

TypeScript скомпилировать все ts файлы как один файл JavaScript в WebStorm 7

У меня в моем проекте много файлов .ts. WebStorm создает каждый файл .ts как файл js. Но я не хочу этого.

У меня есть файл app.ts, и все файлы .ts будут созданы в этом файле app.ts. Как это сделать в WebStorm 7?

Есть решение в режиме CLI, но как я могу реализовать его в WebStorm?

 tsc --out app.js main.ts app.ts a.ts b.ts

Или есть лучший способ сделать это?

ANSWER

Просто добавьте эту строку в раздел "Аргументы" в "Редактировать наблюдатель"

--sourcemap $FileName$ --out your-main.js
4b9b3361

Ответ 1

Вы можете указать опцию -out в аргументах Typescript File watcher, и, если включена опция отслеживания только корневых файлов, все файлы ts будут объединены в основной файл js (который импортирует их все напрямую или через цепочка ссылок) при изменении любого из них

Ответ 2

Вы можете использовать grunt-ts, который может поддерживать файл reference.ts для вас, и указать наблюдателю файла webstorm для запуска вашей задачи grunt https://github.com/basarat/grunt-ts#javascript-generation-and-ordering

Отказ от ответственности: я один из авторов хрюка.

Ответ 3

Для тех, у кого нет одного файла, который ссылается на все остальные, и они не хотят поддерживать вручную "reference.ts" или используя basarat grunt-ts, здесь моя настройка:

Основная идея состоит в том, чтобы перечислить все ваши *.ts файлы в текстовый файл, а затем использовать файл в качестве patameter для tsc-компилятора. Поэтому я создал свой собственный наблюдатель файлов и отключил по умолчанию для файлов TypeScript. Моя программа просмотра файлов - файл bat со следующим содержимым:

dir /s /b /o:gn scripts\*.ts > ts_sources.txt
tsc %*

Если вы находитесь на Mac или Linux, вы можете легко преобразовать его в bash script.

На экране настройки наблюдателя вы указываете на свой командный файл (bash script):

$ProjectFileDir$\compile.bat

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

@$ProjectFileDir$\ts_sources.txt --out $ProjectFileDir$\app_all.js --sourcemap

Я думаю, есть много способов сделать это...