私はnode.js
アプリをディレクトリ内のすべてのファイル.txt
を再帰的にリストするようにしました。それぞれの場合、いくつかの処理を行います。NodeJS:throw er;
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
私はwin32
環境でノードv0.10.13
を使用しています:私は、コンソール経由でnode app.js
を実行すると
var spawn = require('child_process').spawn,
dir = spawn('dir', ['*.txt', '/b']);
dir.stdout.on('data', function (data) {
//do some stuff with each stdout line...
console.log('stdout: ' + data);
});
dir.stderr.on('data', function (data) {
//throw errors
console.log('stderr: ' + data);
});
dir.on('close', function (code) {
console.log('child process exited with code ' + code);
});
が、私は以下のエラーメッセージが表示されます:
は、ここに私のapp.jsです。
私はライン(1つの文字列としてのexec方法リリース全体stdout
)によってstdout
ラインを処理したいので、私はこの方法(産卵)を行います。
* UPDATE *
ところで、
child_process
ためspawn
を使用すると、cmd dir
の出力はラインごとになることを保証するものではありません。 question for thatも作成しました。
Downvoter、理由を説明できますか? – gustavohenke
私はdownvoteしませんでしたが、この答えは実際には答えていません - エラーをキャプチャするon( 'error'、fn)ハンドラをどこに添付すればいいですか? –
@AlexMillsここに本当の質問はありません。 :)また、 'error'ハンドラは、生成されたプロセスにアタッチする必要があります。 – gustavohenke