从nodejs调用child_process

时间:2013-08-06 07:39:02

标签: javascript node.js

我有一个带有调用javascript函数的超链接的html文件.javascript函数必须调用批处理文件...这一切都应该来自Node.js

<html>
<head>
<title>sample</title>
<script src="child.js"></script>
</head>
<body>
<a href="#" onclick="call()">click here</a>
</body>
</html>

child.js

function call()
{

var spawn = require('child_process').spawn,
ls = spawn('append.bat');
}

我收到这样的错误......

ReferenceError: require is not defined
var spawn = require('child_process').spawn,

任何答案..回复......

2 个答案:

答案 0 :(得分:1)

Node.js是JavaScript的服务器端环境。要从网页与其进行互动,您需要建立http.Serveruse Ajax来进行通信。

部分示例(使用一些库来简化)将是:

// server-side
app.post('/append', function (req, res) {
    exec('appand.bat', function (err, stdout, stderr) {
        if (err || stderr.length) {
            res.send(500, arguments);
        } else {
            res.send(stdout);
        }
    });
});
// client-side
function call() {
    $.post('/append').done(function (ls) {
        console.log(ls);
    }).fail(function (xhr) {
        console.error(xhr.responseText);
    });
}

所展示的库对于服务器端是Express,对于客户端是jQuery。它还使用child_process.exec()而不是spawn()来获取Buffer而不是Stream

资源:

答案 1 :(得分:0)

您无法从浏览器访问Node.js.