以下のtsconfig.jsonを作って・・・
{ "compilerOptions": { "module": "commonjs", "target": "es5", "sourceMap": true } }
以下のようにtscを実行すると・・・
# tsc ./bin/www.ts
tsconfig.json の設定が反映されず、以下のエラーが出る。
error TS1148: Cannot compile external modules unless the '--module' flag is provided.
-
- module はtsconfig.jsonで設定してるのに --module を指定するようにと怒られる。
tsconfig.json の設置場所が問題かと思ったが、
ちゃんとルートディレクトリに設置しているので問題なし。
原因はtscコマンドに /bin/www.ts という
コンパイルのエントリーファイルを引数として指定しているからっぽい。
なので、tsconfig.json に以下のように rootDir を追記して、
エントリーファイルも tsconfig.json で管理するようにする。
{ "compilerOptions": { "module": "commonjs", "target": "es5", "sourceMap": true, "rootDir":"/vagrant/app/bin/www.ts" } }
# tsp
これでコンパイル成功。
VisualStudioCodeとかじゃなくて、
vim で書いて直接 tsc のコマンド叩いてたから、
変にハマったのかもしれない・・・。