我想知道添加" execArgs"的正确方法是什么?到节点进程 -
我们有:
const cp = require('child_process');
const n = cp.spawn('node', ['some-file.js'], {});
但如果我想像这样添加一个execArg会怎么样:
const n = cp.spawn('node --harmony', ['some-file.js'], {});
我认为这不是正确的做法,文档似乎不能证明这一点吗?
这是正确的方法吗?
const n = cp.spawn('node', ['--harmony','some-file.js'], {});
答案 0 :(得分:1)
根据docs for child_process.spawn()
,它明确指出args是一个字符串参数数组,作为第二个参数传入。
child_process.spawn()方法使用给定命令生成一个新进程,其中args中有命令行参数。如果省略,则args默认为空数组。
第三个参数可用于指定其他选项,具有以下默认值:
{ cwd: undefined, env: process.env }
const spawn = require('child_process').spawn;
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
根据上面从child_process文档中提取的内容,以下内容是正确的。
const n = cp.spawn('node', ['--harmony','some-file.js']);