Node.jsを使用して1つのHTMLファイルを提供し、同じポートの呼び出しに応答したいと考えました。 HTMLページを提供するときには、コマンドをローカルで実行してコマンドの出力を表示したいと思っています。私は出力を得ることができません。それは間違いを続けます。私は何か根本的なものが欠けていると確信していますが、何が分からないのでしょうここでは、コードスニペットは、次のとおりです。Node.jsはHTMLを提供し、コマンドラインとコールバック関数を実行します
events.js:160
throw er; // Unhandled 'error' event
^
Error: write after end
at ServerResponse.OutgoingMessage.write (_http_outgoing.js:439:15)
at /tmp/web-serve-one-port2.js:111:15
at ChildProcess.exithandler (child_process.js:197:7)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:877:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
ありがとう:
var os = require("os");
var hostname = os.hostname();
var exec = require('child_process').exec;
var http = require('http'),
fs = require('fs');
fs.readFile('./index.html', function (err, html) {
if (err) {
throw err;
}
http.createServer(function(req, res) {
if(req.url.includes("callback")) {
//do stuff
} else {
res.writeHeader(200, {"Content-Type": "text/html"});
res.write(html);
res.write("<BR><BR>NodeJS Server:"+hostname);
var exec = require('child_process').exec;
var cmd = 'uname -a | awk \'\{print $2\}\'';
exec(cmd, function(error, stdout, stderr) {
res.write("<BR><BR>uname output: "+ stdout);
});
res.end();
}
}).listen(80);
});
ここで私が得たエラーです!
エラーは何ですか? – adeneo
@adeneo申し訳ありませんが、私はそれを含めるべきでした。私はエラーメッセージで私の質問を編集しました。 – PLui