2013-04-08 56 views
0

開始探索的Node.js和麪臨如下問題Node.js的集羣子進程路徑

比方說,我有3個文件:start.js,核心/ core.js和核心/ child.js

  1. start.js需要在代碼core.js
  2. core.js創建一個子進程(芯/ child.js),使用簇與這些設置

    cluster.setupMaster({ 
        exec: './core/child.js' 
    }); 
    

core.js和child.js在同一個文件夾,但我得到一個錯誤(未找到),如果我用

exec: './child.js' 

沒有找到文檔類似的話,但

require('./child.js') 

完美地工作。我有沒有問題,如果路徑有點長,只是想明白爲什麼我不能使用路徑本地到core.js

回答

1

require()工作相對於當前代碼文件的位置,但大多數其他操作在節點.js(包括啓動其他進程)與當前工作目錄process.cwd()有關。

如果您需要生成相對於當前文件的路徑,則可以在運行時使用每個模塊中可用的__dirname變量。

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