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
Ответы
Ответ 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
Я думаю, есть много способов сделать это...