tscにwatchオプションをつけるというやり方がある。
ただタスクが実行されたままになるのであまりやりたくない。
http://qiita.com/tkyaji/items/33b3e0aef207c4e29b94
実行時にコンパイルを挟めないか調べたところサーバ起動時にtscコマンドを実行できた(できてしまった)
app.js(サーバ起動時に呼ばれるファイル)の先頭に以下を追記
if (process.argv.length <= 3 && process.argv[2] === "-d") { const execSync = require("child_process").execSync const cmd = "tsc -p ." // コマンド execSync(cmd) }
現在のディレクトリでTypeScriptをコンパイルするというコマンドを実行する。
さすがに本番環境で動かすわけにはいかないので実行可否をオプションで切り替えられるようにしておくといい
ついでにlaunch.json(VisualStudioCodeのF5実行時の設定) は以下
F5キーでサーバ起動時にTypeScriptのコンパイルが行われる。便利。{ "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceRoot}/app.js", "args": [ "-d" ] },
これひょっとして応用すればいろんなタスクが実行できるんじゃ?