当前位置: 首页 > 面试题库 >

如何将STDIN传递给node.js子进程

颜博达
2023-03-14
问题内容

我正在使用包装pandoc节点的库。但是我不知道如何将STDIN传递给子进程execFile …

var execFile = require('child_process').execFile;
var optipng = require('pandoc-bin').path;

// STDIN SHOULD GO HERE!
execFile(optipng, ['--from=markdown', '--to=html'], function (err, stdout, stderr) {
    console.log(err);
    console.log(stdout);
    console.log(stderr);
});

在CLI上,它看起来像这样:

echo "# Hello World" | pandoc -f markdown -t html

更新1

尝试使其与spawn

var cp = require('child_process');
var optipng = require('pandoc-bin').path;
var child = cp.spawn(optipng, ['--from=markdown', '--to=html'], { stdio: [ 0, 'pipe', 'pipe' ] });

child.stdin.write('# HELLO');
// then what?

问题答案:

这是我如何使其工作的方法:

var cp = require('child_process');
var optipng = require('pandoc-bin').path; //This is a path to a command
var child = cp.spawn(optipng, ['--from=markdown', '--to=html']); //the array is the arguments

child.stdin.write('# HELLO'); //my command takes a markdown string...

child.stdout.on('data', function (data) {
    console.log('stdout: ' + data);
});
child.stdin.end();


 类似资料:
  • 问题内容: 我已经被这个问题困扰了几个小时了: 我有一个主进程充当TCP服务器,主进程调用Fork(),将其net.Listener()的FD传递给子进程。然后,子进程可以使用net.Filelistener()继承此FD。 我已经通过许多开源代码研究了这个问题,还做了一些实验。但是不幸的是,这些解决方案目前尚不满足我的需要,因为它们不便于携带,您还需要许多危险的低级工作。 如果有任何将net.L

  • 问题内容: 可以说我有一个SP,其语句如下: 但是数据必须通过包含值字符串的单个变量到达该子句。以下内容链接 但是它不能那样工作。任何想法如何做到这一点? 问题答案: 像这样传递参数值- 。然后,使用FIND_IN_SET函数就足够了-

  • 问题内容: 我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动。我不确定如何在JavaScript中访问参数。我正在像这样运行节点: 这是我的服务器代码。Node.js帮助说这是可能的: 如何在JavaScript中访问这些参数?不知何故我无法在网上找到此信息。 问题答案: 参数存储在 以下是有关处理命令行参数的节点文档: 是一个包含命令行参数的数组。第一个元素是’node’

  • 问题内容: 我确定我的问题是基于对node.js中的异步编程缺乏了解,但这是可行的。 例如:我有一个要爬网的链接列表。当每个请求都返回时,我想知道它的URL。但是,大概是由于竞争条件造成的,每个请求都将URL返回设置为列表中的最后一个值。 预期产量: 实际输出: 所以我的问题是: 如何将url(按值)传递给回调函数?要么 链接HTTP请求以使其顺序运行的正确方法是什么?要么 我还缺少什么? PS:

  • 问题内容: 我想将回调传递给加倍嵌套的组件,并且尽管我能够有效地传递属性,但我不知道如何将回调绑定到正确的组件上才能被触发。我的结构如下所示: 单击列表项时应触发一个回调,这是OutermostComponents方法“ onUserInput”,但相反,我得到“未捕获的错误:未定义不是函数”。我怀疑问题出在我如何在第一个内部渲染SecondNestedComponent并将其传递给回调函数。代码

  • 我正在使用GraphQL查询一个对象,该对象将由大约15个不同的REST调用组成。这是我的根查询,我在其中传入查询的ID。这对于正确解析的主要student对象非常有效。但是,我需要弄清楚如何将ID传递给地址解析程序。我尝试将args添加到address对象,但出现了一个错误,表明args没有从Student对象传递下来。所以我的问题是:如何将客户机查询中的参数传递给GraphQL服务器中的子对象