Javascript 是否可以从nodejs获取派生进程的进度?
我正在从Javascript 是否可以从nodejs获取派生进程的进度?,javascript,node.js,npm,npm-install,child-process,Javascript,Node.js,Npm,Npm Install,Child Process,我正在从js脚本中生成npm安装-g create react app。我想知道是否可以使用spawn获取安装进度 const npmExecutable = /^win/.test(process.platform) ? "npm.cmd" : "npm"; const npm = spawn(npmExecutable, ["install", "-g", "create-react-app"
js
脚本中生成npm安装-g create react app
。我想知道是否可以使用spawn
获取安装进度
const npmExecutable = /^win/.test(process.platform) ? "npm.cmd" : "npm";
const npm = spawn(npmExecutable, ["install", "-g", "create-react-app"]);
我读过关于使用:
npm.on("message", data => {
console.log(`A message: ${data}`);
});
但它没有显示任何东西
关于了解python
脚本的进度有一个问题,但没有任何答案
你们中有人尝试过类似的东西吗?或者知道关于这方面的任何线索吗?您可能想使用
npm.stdout.on('data',…)
。child\u process.on('message',…)
事件用于具有IPC通道的进程,通常是使用child\u process.fork(…)
创建的子进程。噢,谢谢。现在我可以读取数据,但它显示的是npm命令的最终输出,而不是命令执行的进度,这才是我真正需要的。您需要处理程序的输出以确定其进度,没有进程的内置进度监视器。是的,但是。。。您所说的:处理程序的输出以确定其进度是什么意思?根据文档,您可以收听stderr
以获取进度信息。它说,stderr
必须是一个TTY
,我不知道这意味着什么,也不知道如何解析数据,但这就是您想要查看的地方。您可能想使用npm.stdout.on('data',…)
。child\u process.on('message',…)
事件用于具有IPC通道的进程,通常是使用child\u process.fork(…)
创建的子进程。噢,谢谢。现在我可以读取数据,但它显示的是npm命令的最终输出,而不是命令执行的进度,这才是我真正需要的。您需要处理程序的输出以确定其进度,没有进程的内置进度监视器。是的,但是。。。您所说的:处理程序的输出以确定其进度是什么意思?根据文档,您可以收听stderr
以获取进度信息。它说stderr
必须是TTY
,我不知道这意味着什么,也不知道如何解析数据,但这就是您想要查看的地方。