我在Windows服务器中运行Node.js进程。一些 npm 包要求节点进程从正确的目录启动,例如 config -- 我最初遇到了这个问题,因为我做了一个任务管理器任务来运行启动节点进程的.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' })