【发布时间】:2022-01-20 17:11:40
【问题描述】:
我想在 Node Js 中使用 cspell --file-list 命令作为子进程。 我想将大量字符串传递给这个子进程并通过标准输入提供它。
var child = spawn('cspell --file-list',[], {shell:true});
现在我想将字符串一个一个地传递给这个子进程。
有人可以通过小例子帮助我吗?
【问题讨论】:
标签: javascript node.js arrays spawn
我想在 Node Js 中使用 cspell --file-list 命令作为子进程。 我想将大量字符串传递给这个子进程并通过标准输入提供它。
var child = spawn('cspell --file-list',[], {shell:true});
现在我想将字符串一个一个地传递给这个子进程。
有人可以通过小例子帮助我吗?
【问题讨论】:
标签: javascript node.js arrays spawn
将文件作为参数发送:
const spawn = require('child_process').spawn;
const cmd = 'cspell';
const checkFiles = (files) => {
const proc = spawn(cmd, ['--file-list'].concat(files), {shell: true });
const buffers = [];
proc.stdout.on('data', (chunk) => buffers.push(chunk));
proc.stderr.on('data', (data) => {
console.error(`stderr: ${data.toString()}`);
});
proc.stdout.on('end', () => {
const result = (Buffer.concat(buffers)).toString();
console.log(`done, result:\n${result}`);
});
};
// pass files array
checkFiles(['some-file', 'another-file']);
【讨论】:
stderr: ${data.toString()}); });而不是 proc.stdout.on('data', (chunk) => buffers.push(chunk));即使应用程序以代码 0 退出。
stderr