通过节点js从extendscript运行获得结果

时间:2015-05-22 06:17:51

标签: node.js command-line adobe extendscript

我有一个nodejs代码,执行一个extendscript代码,如果代码结果为true或false(如return或其他东西),我需要从extendscript中获取结果。

我找到的唯一方法是在extendcript完成时创建一个标志文件,然后在节点中检查它。

有更好的方法吗?

谢谢大家!

2 个答案:

答案 0 :(得分:0)

我假设您可以修改 extendscript ,因为您已经提到过'您可以创建标记文件'。

extendscript 中,而不是创建flag-file,在标准输出中写入布尔值。

在您的父脚本(实际调用extendsscript)中使用类似

的内容
var cp = exec('extendsscript');
cp.stdout.on('data', function(data) {
    // do whatever you want to do with the data. Might have to change encoding
});

建议,如果你计划获得少量数据(状态消息)exec很好但是对于大量数据使用spawn而不是exec缓冲内存中的数据。

答案 1 :(得分:0)

如果您安装extendscript-stream,可以将$.write(JSON.stringify(data));添加到ExtendScript文件中,以便将data传回Node.js。