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

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

我知道如果我写的JSON文件,并指定-O选项中的输出文件path,它的工作原理。 但是我宁愿不写一些临时文件,如果没有它可以完成。

所以这工作

 { "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" } } 

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

你有没有尝试使用反引号(坟墓)?

 { "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", } }