【问题标题】:Calling processing-java from nodejs on Windows 10在 Windows 10 上从 nodejs 调用 processing-java
【发布时间】:2020-10-25 09:52:19
【问题描述】:

我在从 nodejs 执行 windows 上的处理 java 时遇到了一些问题。当我使用以下内容时

processing-java --sketch=$pwd/sketch/ --run

在控制台中它工作正常,草图被执行,窗口打开,结果是一个文件写入我需要的目录。

但是当我在节点文件中使用相同的字符串来执行它时,它并没有打开一个窗口并且没有写入任何文件,而是执行了回调函数processOutput,因此执行发生了。

我加了

const exec = require('child_process').exec;

到用于在节点中执行子进程的js文件。 $pwd 是 PowerShell 等效于 MacOS 上的 pwd。 exec 应该执行 shell 命令并调用回调函数。回调函数被执行,而不是草图。

const cmd = 'processing-java --sketch=$pwd/sketch/ --run';
exec(cmd, processOutput);

我错过了什么?任何帮助表示赞赏。 非常感谢,C。

【问题讨论】:

    标签: node.js processing


    【解决方案1】:

    child_process.exec() 不在 powershell 中执行,而是在 CMD 终端中执行。因此,您不能使用像 $pwd 这样的 powershell 变量。您可以尝试改用%CD%

    const cmd = 'processing-java --sketch=%CD%/sketch/ --run';
    exec(cmd, processOutput);
    

    【讨论】:

      猜你喜欢
      • 2018-10-31
      • 1970-01-01
      • 2017-11-18
      • 2020-10-30
      • 1970-01-01
      • 2016-03-14
      • 2016-03-02
      • 2019-03-01
      • 1970-01-01
      相关资源
      最近更新 更多