2011-03-07 52 views
22

在Node.js的模塊,我寫我想打開一個文件 - 即,與fs.readFile()凹口 - 包含在同一目錄作爲我模塊。我的意思是它在與./node_modules/<module_name>/index.js文件相同的目錄中。在Node.js中,我該如何判斷`this`模塊的路徑?

它看起來像它們由fs模塊相對於在其中Node.js的啓動目錄中的走位執行的所有相對路徑的操作。因此,我想我需要知道如何獲取當前正在執行的Node.js模塊的路徑。

謝謝。

+19

您可以使用'__dirname'和'__filename'獲取有關模塊位置的信息。 – Pindatjuh 2011-04-14 14:12:38

回答

39

大衛瀕臨麪包車在評論中提到的,正確的解決方法是使用__dirname。此全局變量將返回當前正在執行的腳本的路徑(即,您可能需要使用../才能到達模塊的根目錄)。

例如:

var path = require("path"); 
require(path.join(__dirname, '/models')); 

只是爲了節省從一個頭痛的人。

+10

爲什麼不'path.join'? – 2014-06-19 11:38:12

相關問題