如何在外部文件夹中生成子进程?

How do you spawn a child process in an external folder?

我正在使用 Electron.js 构建一个浏览器应用程序,该应用程序连接到位于目录中单独文件夹中的 flask 后端。截至目前,我正在使用一个 hacky work-around 来执行后端:

const bat = cp.exec("cd api && python app.py");

但是我希望在 API 文件夹中生成一个后端子进程。我该怎么做?

谢谢

child_process.exec() 函数有一个针对子进程当前工作目录的特定选项。

你可以在the doc中看到它。

child_process.exec(command[, options][, callback])

    command <string> The command to run, with space-separated arguments.

    options <Object>
        cwd <string> | <URL> Current working directory of the child process. Default: process.cwd().
        ...

因此,您只需设置该选项并指定 api 目录:

const bat = cp.exec("python app.py", {
    cwd: path.join(process.cwd(), "api")
});