如何确保我的子 Node 进程从正确的目录启动?
How can I make sure my child Node process is starting from the correct directory?
我 运行 Node.js 在 windows 服务器中处理。一些 npm 包要求节点进程从正确的目录开始,例如 config——我 运行 最初遇到这个问题是因为我将任务管理器任务设为 运行 a .bat
启动节点进程的文件,但如果我没有明确设置 TaskManager 任务从我的 package.json
的包含文件夹开始,配置将找不到要加载的正确文件。
因此,如果我从另一个节点进程中启动一个节点进程,通过类似 require('child_process').fork
的方式,我是否仍然需要确保它是从特定目录调用的?我该怎么做?
如果您在 child_process
上执行 .fork()
、.exec()
或 .spawn()
,它们都采用一个选项对象,该对象又具有 .cwd
属性。例如
const cp = require('child_process')
const child = cp.spawn('./whatever', { cwd: '/path/to/dir' })
我 运行 Node.js 在 windows 服务器中处理。一些 npm 包要求节点进程从正确的目录开始,例如 config——我 运行 最初遇到这个问题是因为我将任务管理器任务设为 运行 a .bat
启动节点进程的文件,但如果我没有明确设置 TaskManager 任务从我的 package.json
的包含文件夹开始,配置将找不到要加载的正确文件。
因此,如果我从另一个节点进程中启动一个节点进程,通过类似 require('child_process').fork
的方式,我是否仍然需要确保它是从特定目录调用的?我该怎么做?
如果您在 child_process
上执行 .fork()
、.exec()
或 .spawn()
,它们都采用一个选项对象,该对象又具有 .cwd
属性。例如
const cp = require('child_process')
const child = cp.spawn('./whatever', { cwd: '/path/to/dir' })