如何在单个npm运行脚本中将命令的结果传递给另一个命令的选项?

时间:2015-11-26 02:55:10

标签: json node.js

我不确定这是否可以在一行中,但我想运行yaml2json并将结果json传递给CLI中的jade -O选项。

我知道如果我写了json文件并在-O选项中指定了输出文件路径,它就可以了。但如果没有它,我宁愿不写一些临时文件。

所以这是有效的

{
  "scripts": {
    "jade": "yaml2json src/data/site.yaml > temp.json && jade src/jade/pages --out dist -O temp.json",
  }
}

然而,这并不是。

{
  "scripts": {
    "jade": "jade src/jade/pages --out dist -O yaml2json src/data/site.yaml"
  }
}

任何帮助或见解都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用反叛(坟墓)?

{
  "scripts": {
    "jade": "jade src/jade/pages --out dist -O \"`yaml2json src/data/site.yaml`\""
  }
}

或者,如果临时文件延迟,则可以删除临时文件(仅限Linux / OSX):

{
  "scripts": {
    "jade": "yaml2json src/data/site.yaml > temp.json && jade src/jade/pages --out dist -O temp.json && rm temp.json",
  }
}