nodemonは、コード変更を監視して、自動でNode.jsのアプリケーションを再起動してくれるツールです。開発時に役立ちます。ここでは、nodemonの使い方について確認します。
目次
インストール
開発環境のみ利用するので --save-dev
をつけてます。
npm install --save-dev nodemon
nodemonで起動
npm start
で起動できるように、package.json
の scripts
を設定します。
"scripts": {
"start": "nodemon src/app.js"
},
npm start
を実行します。
$ npm start
> express-api@1.0.0 start /sample/express-api
> nodemon src/app.js
[nodemon] 1.19.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node src/app.js`
Example app listening on port 5000!
nodemon経由で src/app.js
が起動されました。
src/app.js
を編集すると以下のように再起動されます。
[nodemon] restarting due to changes...
[nodemon] starting `node src/app.js`
Example app listening on port 5000!
設定ファイル
( nodemon.json )
TypeScriptのホットリロードをしたい場合、nodemonの起動で ts-node を起動するように設定します。
nodemonの設定は、 nodemon.json
というファイルに記述します。以下、nodemon.json
の記述例です。
{
"watch": ["src"], // 監視対象フォルダ
"ext": "ts", // 監視対象拡張子
"ignore": ["src/**/*.spec.ts"], // 監視対象外
"exec": "ts-node ./src/app.ts" // nodemon起動時の実行スクリプト
}
参考
- https://github.com/remy/nodemon/#config-files
- How to watch and reload ts-node when TypeScript files change