我在Windows服务器上运行Node.js进程。一些npm包要求节点进程从正确的目录开始,例如config - 我最初遇到了这个问题,因为我做了一个任务管理器任务来运行启动节点进程的.bat
文件,但如果我没有明确地将TaskManager任务设置为从package.json
的包含文件夹开始,则config将无法找到要加载的正确文件。
因此,如果我从另一个节点进程中启动节点进程,通过类似require('child_process').fork
之类的东西,我是否还要确保从特定目录中调用它?我该怎么做?
答案 0 :(得分:1)
如果您在.fork()
上执行.exec()
,.spawn()
或child_process
,则他们都会选择一个选项对象,而该对象又具有.cwd
属性。例如
const cp = require('child_process')
const child = cp.spawn('./whatever', { cwd: '/path/to/dir' })