VisualStudioCode(というよりNode.js)でTypeScriptの実行時ビルド

サーバ起動時についでに動かすという暴挙、でも使える



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実行時の設定) は以下
{ "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceRoot}/app.js", "args": [ "-d" ] },
F5キーでサーバ起動時にTypeScriptのコンパイルが行われる。便利。


これひょっとして応用すればいろんなタスクが実行できるんじゃ?

2017年3月27日月曜日