【问题标题】:node.js replace child_process.exec with spawnnode.js 用 spawn 替换 child_process.exec
【发布时间】:2018-07-17 11:56:06
【问题描述】:

这是我之前的代码:-

const child_process = require('child_process');
child_process.exec(`java -cp ./${dirPath}bin Main`);

我尝试像下面这样替换它:-

let spawn = require('child_process').spawn;
let child = spawn('java', [`-cp ./${dirPath}bin Main`]);

但我得到了错误:-

“options”参数必须是一个对象

如何通过指定路径使用 spawn 来执行 java 文件?

【问题讨论】:

    标签: node.js child-process spawn


    【解决方案1】:

    这在 Windows 上的 Node 10 中可以正常工作:

    let spawn = require('child_process').spawn;
    let child = spawn('java', ['-version']);
    

    当然,这段代码会丢弃所有输出。

    另外,参数有错误,所以你的代码应该是这样的

    let spawn = require('child_process').spawn;
    let child = spawn('java', ['-cp', `./${dirPath}bin`, 'Main']);
    

    【讨论】:

      【解决方案2】:

      对于 Konstantin 的回答 --> 请注意,child_process 包包含恶意代码,已被 npm 安全团队从注册表中删除。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-13
        • 2012-03-21
        • 1970-01-01
        • 2015-07-11
        • 2019-09-11
        • 2021-04-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多