如何在nodejs中的不同位置执行文件

时间:2016-08-02 06:59:44

标签: node.js child-process

我必须运行文件test.js,它位于与正在运行的应用程序不同的位置。为此,我尝试了以下代码

var execFile = require("child_process").execFile;
exports.sync = function(req, res) {
    console.log("sync called");
    var child = execFile("C:/Users/rhush/Desktop/test", function(error, stdout, stderr) {
        if (error) {
            throw error;
        }
        console.log(stdout);
        res.send({ status: stdout });
    });
};

我的测试文件在这里:

function testing() {
    console.log('sync job running');
}
testing();

但我收到错误enter image description here

如果我有任何错误,请更正。

1 个答案:

答案 0 :(得分:0)

要使用execFile运行js文件,您需要传递带文件名的node命令,使用此命令:

var execFile = require("child_process").execFile;
exports.sync = function(req, res) {
    console.log("sync called");

    var child = execFile("node", ["C:/Users/rhush/Desktop/test.js"], function(error, stdout, stderr) {
        if (error) {
            throw error;
        }
        res.send({ status: stdout });
    });
};