node.js知道发生require的位置的文件

时间:2017-06-11 13:31:36

标签: javascript node.js module require

我有2个文件

// file1.js
//some js code that will do what I ask in the question
module.exports = myFunc

//file2.js
require('./file1')

是否有可能以任何方式让file1.js知道谁需要它?所以当file2需要file1时,file1会知道它是file2吗?

1 个答案:

答案 0 :(得分:2)

您注意到您希望使用file1功能来创建与呼叫者同名的文件。您可以通过使用模块中的__filename变量来完成此操作。

使用file1时,只需传递此变量,而不是尝试访问调用者。例如:

require('./file1')(__filename)

其中file1有类似的内容:

module.exports = filename => {
    // create file here
}

虽然这可以解决你的问题,但这似乎是一个奇怪的要求,并且可能有更好的方法来实现你真正追求的目标。