1

Windows 7 に「Enide Studio 2014」をインストールしました。次に、 「Node.js Express Project」を作成しました。すべてが順調に進み、新しいプロジェクトが作成されました。問題なく実行できました。

コードに変更を加えるたびにノードサーバーを停止して起動すると、開発中に不必要な労力がかかるため、Eclipseで変更を「監視」し、それに応じてノードを再起動する必要がありました。nodeclipse はこの目的のためのオプションを提供するので、ノード モニターとして永久に構成しようとしました。

Nodeclipseの設定では、ノード パスが「D:\Software\Development\NodeJS\node.exe」として設定されていました。Forever は「D:\Software\Development\NodeJS\node_modules\forever\bin\forever」にインストールされていたので、 「ノード監視パス」をそのように設定しました。

この後、プロジェクトを再度実行できませんでした。

コンソール出力を確認すると、発行された(そして失敗した)コマンドは次のとおりです。

node D:\Software\Development\NodeJS\node_modules\forever\bin\forever D:\calismaalani\nodejs\deneme\app.js

コマンドラインをコピーしてコマンドウィンドウで自分で発行したところ、次のようになりました。

warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
error:   Cannot start forever
error:   script D:\Software\Development\NodeJS\D:\calismaalani\nodejs\deneme\app.js does not exist.

明らかにわかるように、Nodeclipse は node_home パスをアプリの絶対パスに追加しようとしていました。いくつかの環境変数を設定しようとしましたが、アプリの正しいパスを取得できませんでした。

ここで何が問題なのですか?どうすればこれを修正できますか?

4

2 に答える 2

0

Nodeclipse 0.17 以降、Run with Node モニターは非表示になり、より多くの質問が発生してから解決されました。

CLI 経由で起動してくださいforever。TCF -Terminalは Eclipse への優れたシェル統合であるため、別々のタブで異なるプロジェクトに対して複数の永久インスタンスを実行できます。

于 2014-10-08T07:17:17.353 に答える
0

Nodeclipse 設定で「ノード オプション」パスを指定するD:\Software\Development\NodeJS\node_modules\forever\bin\forever --sourceDir .と、Nodeclipse は自動的に永久に使用してノード Js アプリケーションを起動する必要があります。

nodeclipse バージョン 1.0.2.x を使用し、nodemon を使用してアプリケーションを監視すると、問題なく動作します。

編集: あなたの場合、絶対パスをforeverに渡すことはできません。必要に応じて、「--sourceDir .」オプションを使用できます。--sourceDir と "." オプションは、アプリケーションの完全なパスを探します。したがって、コマンドは次のようになります。

node D:\Software\Development\NodeJS\node_modules\forever\bin\forever --sourceDir . D:\calismaalani\nodejs\deneme\app.js

ノードモニターパスを 次のように指定する必要がありますD:\Software\Development\NodeJS\node_modules\forever\bin\forever --sourceDir .

nodemonを使用している場合は、パスを次のように指定する必要がありますC:\Users\ashwin_valento\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js --watch

于 2016-07-05T04:53:29.193 に答える