Node.js를 사용하여 하나의 HTML 파일을 제공하고 동일한 포트에서 호출에 응답하고 싶습니다. HTML 페이지를 제공 할 때 명령을 로컬로 실행하여 명령의 출력을 표시하려고합니다. 출력을 얻을 수없는 것 같습니다. 오류가 계속 발생합니다. 나는 근본적으로 뭔가 빠져 있지만 확실하지는 않다. 여기 코드는 다음과 같습니다Node.js에서 HTML을 제공하고 명령 줄 및 콜백 함수를 실행하십시오.
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);
});
여기에 내가 가진 오류는 다음과 같습니다
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)
감사합니다!
그리고 무엇이 오류입니까? – adeneo
@adeneo 죄송합니다. 오류 메시지로 내 질문을 편집했습니다. – PLui