はじめに
TypeScriptは「型チェック」や「静的型付け」などに対応している言語です。実行する際はtscコマンドで一旦javascriptにコンパイルする作業が必要となります。
NodeJS/Typescriptを書くときに一々tscでコンパイルする操作が面倒だったので、ホットリロード的な機能がないか探してみました。
ts-nodeとnodemonを使う
ホットリロードを実現するには、ts-nodeとnodemonを組み合わせます。
ts-node
NodeJS上で直接tsファイルを実行できるライブラリ。
nodemon
ファイルを監視し、変更があればnodeプロセスを再起動するライブラリです。
今回は
- ts-nodeでnode上からtsファイルを実行
- nodemonでtsファイルを監視する
という手順を組み合わせます。
インストール
npm install -g typescript
npm install -g ts-node
npm install -g nodemon
nodemonにts用の設定を追加する
プロジェクトルートに以下のように記述します。
nodemon.json
{
// 監視するフォルダ
"watch": ["src"],
// .tsを監視する
"ext": "ts",
// nodemonを起動したらts-nodeを実行する
"exec": "ts-node ./src/index.ts"
}
nodemonの実行
$ nodemon
参考リンク
- 【ホットリロード】nodejs + TypeScriptでサーバーサイドを開発している時に、コードを編集したら自動リロードさせる。
- ts-nodeでCLI上でのtypescriptの検証がめっちゃ楽になった話
reddit読むとtscにwatchオプションがあるみたいです。