Node.js集群子进程路径

时间:2013-04-08 22:06:02

标签: javascript node.js

开始探索node.js并面临以下问题

假设我有3个文件:start.js,core / core.js和core / child.js

  1. start.js需要代码中的core.js
  2. core.js使用具有这些设置的群集创建子进程(core / child.js)

    cluster.setupMaster({
        exec: './core/child.js'
    });
    
  3. core.js和child.js在同一个文件夹中,但是如果我使用

    我会收到错误(找不到)
    exec: './child.js'
    

    在文档中没有找到任何类似内容,但是

    require('./child.js')
    

    完美无缺。如果路径有点长,我没有问题,只是试图理解为什么我不能使用路径本地到core.js

1 个答案:

答案 0 :(得分:1)

require()相对于当前代码文件的位置有效,但Node.js中的大多数其他操作(包括启动其他进程)都与当前工作目录process.cwd()相关。

如果需要生成相对于当前文件的路径,可以在运行时使用每个模块中可用的__dirname变量。

var childPath = require('path').join(__dirname, 'child.js');