首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用派生打印原始命令的stdout格式?

如何使用派生打印原始命令的stdout格式?
EN

Stack Overflow用户
提问于 2020-02-19 07:21:56
回答 1查看 78关注 0票数 0

我使用spawn来执行code-push,它向终端发送一个上传过程,并带有多个彩色的标准输出消息。

代码语言:javascript
复制
const codePushProcess = spawn('code-push', [
  'release-react',
  `rrs-${platform}`,
  platform,
  `--deploymentName=${deploymentName}`,
  `--description=${desc}`,
  `--targetBinaryVersion=${version}`,
  '-m'
])
codePushProcess.stdout.on('data', chunk => {
  console.log(chunk.toString('utf8'))
})

codePushProcess.stderr.on('data', data => {
  console.error(`stderr: ${data}`)
})

codePushProcess.on('close', code => {
  if (code === 0) {
    console.log('CodePush Success!')
  } else {
    console.log(`CodePush process exited with code ${code}`)
  }
})

下面是一个比较:

当我使用console.log时,终端中的块都是白色的,没有原始格式,并且缺少动态进度。

那么如何将原始格式发送到终端呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-20 01:31:48

正如Felix所提到的,传递选项{ stdio: 'inherit' }作为spawn方法的第三个参数将向父进程发送stdio。

代码语言:javascript
复制
spawn(cmd, [], { stdio: 'inherit' })

'inherit':将相应的stdio流传递给/从父进程。在前三个位置中,这分别等同于process.stdin、process.stdout和process.stderr。在任何其他位置,等于“忽略”.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60294965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档