0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Node.js] TypeScriptコードの変更を検知し再起動する方法

Last updated at Posted at 2022-11-23

はじめに

TypeScriptを使ってアプリケーション開発をしている時、以下のことに煩雑さを覚えたので解決方法をメモ

  1. TypeScript→JavaScriptにトランスパイル
  2. サーバを起動
  3. コードを修正
  4. サーバを止める
  5. TypeScript→JavaScriptにトランスパイル
  6. サーバを起動

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より早いらしい......

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?