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

у меня много .TS файлы в моем проекте. WebStorm построить каждый .TS файл в файл JS. Но я этого не хочу.

у меня есть приложение.TS файл и все остальное .TS файлы будут построены в этом приложении.файл ТС. Как я могу это сделать в WebStorm 7?

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

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

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

ответ

просто добавил эту строку на аргументы в разделе "правка" сторож

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

3 ответов


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


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

отказ от ответственности: я один из авторов grunt-ts.


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

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

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

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

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

$ProjectFileDir$\compile.bat

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

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

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