Параметр --out
говорит tsc
к
Concatenate и испускают выход в один файл.
... но вы определяете модуль . Модули не предназначены для конкатенированных файлов. Итак, tsc
создает конкатенированный файл всего вашего немодульного кода (у вас его нет, поэтому bla.js
пуст) и файл модуля (test.js
), содержащий ваш модуль test
.
Вы можете подтвердить это сами, добавив в командную строку второй файл .ts
, который не определяет модуль. Вы найдете переведенную версию этого кода в bla.js
, а ваш модуль - в test.js
. Если вы добавите еще один файл .ts
, который определяет второй модуль, вы найдете его в другом файле .js
с именем его источника .ts
.
Так, например, у вас есть
Module1.ts
определения модуля
Module2.ts
определения другого модуля
Stuff.ts
определяющего не-модуль StuFF
MoreStuff.ts
определение более не-модуль материал
... и вы сделали это:
tsc Module1.ts Module2.ts Stuff.ts MoreStuff.ts --out combined.js --module amd
Вы бы в конечном итоге с:
Module1.js
содержащий transpiled JavaScript для Module1
.
Module2.js
содержит сгенерированный JavaScript для Module2
.
combined.js
содержащий transpiled JavaScript из Stuff.ts
и MoreStuff.ts
с помощью '--out' может нанести вред в долгосрочной перспективе: https://github.com/TypeStrong/atom-typescript/blob/master/docs/ out.md – basarat