遅ればせながらTypeScriptを1.4.1.0にアップグレードしたら、--outで指定したファイルが空になるという現象が。
呼ばれる側
test1.ts
class hoge {
public hoge():void {
console.log("hoge");
}
}
export = hoge;
呼ぶ側
test2.ts
import test1 = require('./test1');
var a:test1 = new test1();
a.hoge();
ちなみにコンパイルする際に渡しているオプションは以下のような感じ
tsc --out test.js test2.ts --target es5 --module commonjs --noImplicitAny
これを実行すると、test1.js、test2.jsは出力されるが、test.jsが出力されない。むむむ……
webpackやcommonjsとかで動的に読み込ませろという事なのか、何か罠を踏んでいるのか……
まあ最悪minifyする前にcatすれば多分同じ動作になると思うんですが。
追記
よく考えたら順序考えないとcatして結合しても普通に死んでしまいますね。ううむ。。。
20150128 さらに追記
どうも調べてみて、moduleオプションついてんだから、出ないのはどう考えても正しいだろという結論に至りました。
前は出ていたんですが、より正しい方向にコンパイラが向いたという事なのでしょうか。
おとなしく動的に読み込ませる方法をとろうと思います。