【发布时间】:2016-07-27 16:20:46
【问题描述】:
我刚刚开始学习 nodeJS,现在我在理解如何在 html/css 中设置 child_process 的输出样式时遇到了一些麻烦。
到目前为止,我有以下代码:
#!/usr/local/bin/node
var express = require('express');
var app = express();
var fs = require('fs');
var govSh = './../sh/govc.sh';
var util = require('util');
var spawn = require('child_process').spawn;
var PORT = 3333;
if (!fs.existsSync(govSh)) {
console.log("can't find govc script");
process.exit(1);
};
app.get('/vmlist', function(req, res) {
var invPath = spawn(govSh, ['vmlist']);
invPath.stdout.pipe(res);
});
app.listen(PORT, function() {
console.log("app will listen on port 3333");
});
当我对http://127.0.0.1:3333/vmlist 进行请求时,我会在浏览器中看到这个:
{"name":"centos1", "state":"poweredOff", "ram":"1", "vcpu":"1", "ip4":""}
{"name":"centos2", "state":"poweredOff", "ram":"8", "vcpu":"2", "ip4":""}
我怎么可能在 html 中使用它并用 css 设置它的样式?或者如何将其发送到客户端 jQuery / Ajax?
编辑:
现在看起来,govc.sh 脚本将像上面一样输出。但这对我来说不是必需的,我只想使用 html 中的输出并设置它的样式。在 govc.sh 脚本中,它与 printf 一起使用 for 循环输出信息:
printf '{"name":"%s", "state":"%s", "ram":"%s", "vcpu":"%s", "ip4":"%s"}\n' ${name} ${vmState} ${vmRam} ${vmCpu} ${vmIp4}
如果它使 nodejs/javasript 中的事情变得更容易,我可以更改它。
【问题讨论】:
-
为什么投反对票?如果我应该更改某些内容,请告诉我。
标签: javascript html css node.js express