获取需要当前模块的模块的名称
有没有办法在当前模块中获取require
当前模块的调用者模块的名称?
我看到有一个module.parent.filename
但是这只返回需要当前模块的第一个模块。
core.js
console.log('Caller module: ' + module.parent.filename)
module1.js
require('core')
来电显示模块:[…] / module1.js
module2.js
require('core')
来电显示模块:[…] / module1.js
我问这是因为没有人特别要求上述function(或者至less这是我的结论),并且当require
发生时,是否有可能或不需要获取requirer的名称是不可能的 。
节点中只需要一次模块。 另一个调用只是一个指向已经加载的模块的指针。 这样做的唯一方法是在模块中导出一个函数,并在加载时调用该函数。 这看起来像这样:
core.js
module.exports = function (higherModule) { console.log('Caller module: ' + higherModule) }
module1.js
require('./core')('module1')
module2.js
require('./core')('module2')