毎回 ts ファイルをトランスパイルせずに、TypeScript と Angular アプリケーションを使用して開発サーバーを実行しようとしています。
私が見つけたのは、でファイルを実行できるだけでなく、ファイルを監視してアプリ/サーバーをリロードすることもしたいということです。 この例は、 コマンド です。.ts
ts-node
.ts
gulp 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"
}