10

私のpackage.jsonには、開発環境に使用している開始スクリプトがあります。次のようになります。

"scripts": {
    "dev": "NODE_PATH=src nodemon --watch src/ --exec babel-node src/app.js"
}

私がヒットnpm run devすると、すべてが正常に機能し、babel がすべてを正常にトランスパイルし、nodemon が監視を開始します。私はこれを見る:

[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: /Users/Jonathan/Documents/swissnet/src/**/*
[nodemon] starting `babel-node src/app.js`

src/-folder nodemon 内にファイルを保存すると、サーバーが再起動します。しかし、これが私の問題です。2〜3回再起動します...ファイルを保存するたびに、次のようになります。

[nodemon] restarting due to changes...
[nodemon] starting `babel-node src/app.js`
[nodemon] restarting due to changes...
[nodemon] starting `babel-node src/app.js`
[nodemon] restarting due to changes...
[nodemon] starting `babel-node src/app.js`

「rs」と入力すると、予想どおり、nodemon が 1 回再起動します。

これを解決する方法も、どこで答えを探すべきかもわかりません。ググってみました。私は github のパッケージのバグ セクションにアクセスしてきました... (多分私はグーグルが苦手なのかもしれません)。
同じ問題について私が見つけた唯一のリンクは次のとおりですが、答えがないようです: Nodemon runs multiple times when using babel .
とにかく彼のスクリプトを試してみましたNODE_PATH=src nodemon src --exec babel -w src/ --out-dir build/ --source-mapsが、同じことが起こり、2回か3回再起動しました。

@Connorelseaが上記のリンクで提供されている回答のコメントセクションで述べたように、追加する--delay 2.5と1回だけ再起動します。

監視しているファイルで保存を押すと、ノードモンがすぐに再起動し、バベルがトランスパイルを開始するのではないかと考えています。babel が完了すると、トランスパイルされた多数のファイルが保存され、src/-folder への変更が行われたため、nodemon がもう一度再起動します。しかし、これをデバッグする方法がわかりません。

皆さんが私を助けてくれることを願っています!

**** 編集 ****

このhttps://github.com/remy/nodemon/issues/508を見つけましたが、彼らが持っている唯一の解決策は「ノードモンをアップグレードする」ことです。現時点で最新の 1.11.0 を持っています。

4

6 に答える 6

14

それで、数か月後、何が問題なのかがわかりました。ファイルが更新されてから数秒後に、保存時にサーバーが1回再起動し、数秒後にbabelがコードを変換したときに、サーバーが再起動するようです。babel-nodeしたがって、この望ましくない動作を私に与えていたのはパッケージでした。nodemon2秒--delay 2以上遅れて動作します。

于 2017-03-06T09:21:50.523 に答える