はじめに
TypeScriptを使ってアプリケーション開発をしている時、以下のことに煩雑さを覚えたので解決方法をメモ
- TypeScript→JavaScriptにトランスパイル
- サーバを起動
- コードを修正
- サーバを止める
- TypeScript→JavaScriptにトランスパイル
- サーバを起動
console.log()
を一個増やしたいなって思うだけでもこれだけの手順を踏まないといけないのは効率が悪すぎる
ts-node-dev
を使用する
公式はこちら
インストール
npm i ts-node-dev --save-dev
yarn add ts-node-dev --dev
使い方
ts-node-dev [node-dev|ts-node flags] [ts-node-dev flags] [node cli flags] [--] [script] [script arguments]
サンプル
ts-node-dev --respawn src/index.ts
これをnpm scriptsに登録しておくと、楽に呼び出せる
package.json
"scripts": {
"dev": "ts-node-dev --respawn src/app.ts",
}
例
% npm run dev
> yourapp@1.0.1 dev
> ts-node-dev --respawn src/app.ts
[INFO] 17:40:21 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.8.1, typescript ver. 4.7.3)
Node.js app listening on port 3000. Or Access http://localhost:3000
ソースをいじって保存すると勝手に再起動された
[INFO] 17:43:55 Restarting: {PATH}/src/app.ts has been modified
Node.js app listening on port 4000. Or Access http://localhost:4000
フラグ
-
--respawn
- スクリプトが終了しても引き続き監視を続ける(参考: node-devのGitHub)
公式によると
node-devのTypeScriptサポートや、nodemonより早いらしい......