TypeScript ファイルが変更されたときに ts-node を監視してリロードする方法 質問する

TypeScript ファイルが変更されたときに ts-node を監視してリロードする方法 質問する

毎回 ts ファイルをトランスパイルせずに、TypeScript と Angular アプリケーションを使用して開発サーバーを実行しようとしています。

私が見つけたのは、でファイルを実行できるだけでなく、ファイルを監視してアプリ/サーバーをリロードすることもしたいということです。 この例は、 コマンド です。.tsts-node.tsgulp watch

ベストアンサー1

これで、ファイルをnpm install --save-dev ts-node nodemon実行するだけで、問題なく動作するようになります。nodemon.ts

nodemon app.ts

以前のバージョン:

私は開発環境で同じ問題に悩まされていましたが、nodemonの API を使用すると、カスタム コマンドを実行するためにデフォルトの動作を変更できることに気付きました。

たとえば、 の最新バージョンの場合nodemon:

nodemon --watch "src/**" --ext "ts,json" --ignore "src/**/*.spec.ts" --exec "ts-node src/index.ts"

または、nodemon.json次の内容のファイルを作成します。

{
  "watch": ["src"],
  "ext": "ts,json",
  "ignore": ["src/**/*.spec.ts"],
  "exec": "ts-node ./src/index.ts"      // or "npx ts-node src/index.ts"
}

そしてnodemon引数なしで実行します。

これを行うことで、ts-node基盤となる実装を気にすることなく、プロセスをライブリロードできるようになります。


さらに古いバージョンではnodemon

nodemon --watch 'src/**/*.ts' --ignore 'src/**/*.spec.ts' --exec 'ts-node' src/index.ts

あるいは、さらに良い方法として、 Sandokan の提案に従って、nodemon の設定をnodemon.json次の内容のファイルに外部化してから、 を実行するだけです。nodemon

{
  "watch": ["src/**/*.ts"],
  "ignore": ["src/**/*.spec.ts"],
  "exec": "ts-node ./index.ts"
}

おすすめ記事